Algorithm / 가장 큰 수

알고리즘 코드카타

목록 보기
55/59

문제

프로그래머스 / 가장 큰 수

1) 문제 풀이

✅ 핵심 아이디어

  • ex) 3과 30이 있으면:
    • "330" vs "303" → "330"이 더 크니까 "3"이 "30"보다 앞에 와야 함
    • 따라서 두 문자열 a, b를 비교할 때 a + bb + a보다 크면 a가 먼저
func solution(_ numbers:[Int]) -> String {
    let sorted = numbers.map { String($0) }.sorted {
        $0 + $1 > $1 + $0
    }
    
    let result = sorted.joined()
    
    return result.first == "0" ? "0" : result
}

결과

profile
이유있는 코드를 쓰자!!

0개의 댓글