본문 바로가기
Algorithm/Programmers

[Algorithm/Programmers] 가장 큰 수

by thoonk: 2020. 12. 18.
반응형

문제 풀이:

1. String으로 숫자를 합치고 Int로 변환하여 정렬한다.

2. 수가 모두 0일 때는 0으로 출력한다. 

3. 정렬된 배열을 String으로 합쳐서 출력한다. 

 

코드: 

import Foundation

var numbers = [6, 10, 2]
//var numbers = [3, 30, 34, 5, 9]

func solution(_ numbers:[Int]) -> String {
    let sortedNums = numbers.sorted() { Int("\($0)\($1)")! > Int("\($1)\($0)")!}
    if sortedNums[0] == 0 {
        return "0"
    }
    return sortedNums.reduce("") {$0 + String($1)}
}

print(solution(numbers))

문제: 

programmers.co.kr/learn/courses/30/lessons/42746

 

코딩테스트 연습 - 가장 큰 수

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰

programmers.co.kr

 

반응형

댓글