내 풀이
func solution(_ n:Int64) -> Int64 {
return Int64(String(String(n).sorted{ $0 > $1 }))!
}
해당 문제에서는 정수 n의 각 자릿수를 큰 것부터 작은 순으로 정렬 후 새로운 정수로 반환해야 한다. 이때, 정수를 직접 정렬하는 것은 어렵기 때문에 우선 정수를 문자열로 변환 -> 문자열을 정렬, 그 후에 정렬된 문자열을 다시 정수로 변환해야 한다.
- n을 문자열로 변환하여 각 자릿수를 문자로 표현
- 해당 문자열을 sorted 함수를 사용하여 각 문자를 내림차순으로 정렬
- 정렬된 문자열을 다시 String으로 변환한 후에, 이를 Int64로 변환
이렇게 해야 하는 이유는 정수를 직접 정렬하는 것이 어렵기 때문이다.
이럴 경우, 문자열로 변환하여 처리하는 것이 간단하고 직관적인 방법이다.
' 𝗔𝗣𝗣𝗟𝗘 > ALGORITHM' 카테고리의 다른 글
[내일배움캠프] 데일리 루틴(iOS_3회차) - 두 정수 사이의 합 (0) | 2024.02.07 |
---|---|
[내일배움캠프] 데일리 루틴(iOS_3회차) - 하샤드 수 (1) | 2024.02.06 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 정수 제곱근 판별 (0) | 2024.02.02 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 문자열을 정수로 바꾸기 (0) | 2024.02.01 |
[내일배움캠프] 데일리 루틴(iOS_3회차) - 자연수 뒤집어 배열로 만들기 (0) | 2024.01.31 |