CodingTest 문제풀이

[프로그래머스 L1] 문자열 내 마음대로 정렬하기 - swift

나른한코딩 2021. 8. 20. 15:27

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/12915

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱

programmers.co.kr

 

 

 

문제 요약

문자열로 구성된 리스트 stirngs와 정수 n이 주어졌을 때,

각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬.

(인덱스 n의 문자가 같은 문자열이 여럿 일 경우, 사전 순으로 앞선 문자열이 앞쪽에 위치.)

 

 

 

 

코드

func solution(_ strings:[String], _ n:Int) -> [String] {
  let sortedArr = strings.sorted { (front, behind) -> Bool in
    let frontIndex = front.index(front.startIndex, offsetBy: n)
    let behindIndex = behind.index(behind.startIndex, offsetBy: n)
    
    if front[frontIndex] == behind[behindIndex] {
      return front < behind
    }
    return front[frontIndex] < behind[behindIndex]
  }
  return sortedArr
}

solution4(["sun", "bed", "car"], 1) == ["car", "bed", "sun"] // true
solution4(["abce", "abcd", "cdx"], 2) == ["abcd", "abce", "cdx"] // true

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

틀린부분이 있거나, 더 좋은 방법이 있다면 댓글로 남겨주세요! 
🌈댓글은 언제나 환영입니다🙏🏻

 

 

 

 

 

 

반응형