티스토리 뷰

🖥 문제

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

🤔 풀이 방법

  1. strings[i] = "\(str[str.index(str.startIndex, offsetBy: n)])\(str)"
    • 문자열의 인덱스 n번째 글자를 문자열 맨 앞에 붙인다.
  2. strings.sort()
    • 첫번째 글자를 기준으로 오름차순 정렬을 한다.
  3. 맨 앞에 문자를 제외한 문자열을 answer에 append한다.
    let start = str.index(str.startIndex, offsetBy: 1)
    let end = str.index(str.endIndex, offsetBy: -1)
    let substring = str[start...end]
    answer.append("\(substring)")

👩🏻‍💻 Swift Code

func solution(_ strings:[String], _ n:Int) -> [String] {
    var strings = strings.sorted()
    var answer: [String] = []

    for i in 0..<strings.count {
        let str = strings[i]
        strings[i] = "\(str[str.index(str.startIndex, offsetBy: n)])\(str)"
    }

    strings.sort()

    for str in strings {
        let start = str.index(str.startIndex, offsetBy: 1)
        let end = str.index(str.endIndex, offsetBy: -1)
        let substring = str[start...end]
        answer.append("\(substring)")
    }

    return answer
}

 

 

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

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

programmers.co.kr

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함