정수 내림차순으로 정리하기

문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

func solution(_ n:Int64) -> Int64 {
    return Int64(String(Array(String(n)).sorted { $0 > $1 }))!
}

String(n) 을 사용하여 입력 받은 정수를 문자열로 변환한 후
Array(String(n)) Array를 사용하여 바꾼 문자열을 배열로 전환한다.
.sorted { $0 > $1 } 사용하여 배열을 내림 차순으로 변경한다.
String 으로 정렬된 배열을 문자열로 변경한 후
Int64 사용하여 문자열을 정수로 다시 변환한 후 강제 언래핑하여 반환한다.

.sorted { $0 > $1 }

배열을 내림차순으로 정렬하는 클로저로 이 클로저는 $0 , $1 두개의 인자를 받아 비교하고
첫번째 인자가 두번째 인자보다 큰 경우에는 true를 반환하여 정렬 순서를 변경한다.

$0는 첫번째 인자를 나타내고 $1은 두번째 인자를 나타내므로
$0 > $1 은 첫번째 인자가 두전째 인자보다 큰지 비교하는 조건

'◽️ Programming > ◽️ Algorithm' 카테고리의 다른 글

두 정수 사이의 합  (0) 2024.03.03
하샤드 수  (0) 2024.03.03
정수 제곱근 판별  (0) 2024.03.03
문자열을 정수로 바꾸기  (0) 2024.03.03
자연수 뒤집어 배열로 만들기  (0) 2024.03.03