출처: 프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12933
난이도: Lv.1
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 800000000000 이하인 자연수입니다.
입출력 예
n | return |
118372 | 873211 |
func solution(_ n:Int64) -> Int64 {
let number = String(String(n).sorted(by: >))
return Int64(number)
}
sorted 함수는 배열을 정렬하는 메서드이고 기본적으로 오름차순으로 정렬한다. 그래서 오름차순으로 정렬하고 싶을 때는,
sorted()를 사용하면 되고, 내림차순은 sorted(by: )를 사용하면 된다.
또 '!'기호는 swift에서 옵셔널 타임을 강제 언래핑하는 연산자인데, 저번에 사용했는데 이번에 사용할 때도 생각을 못 해서 다시 정리해 보면, 옵셔널 타입은 값이 존재할 수도 있고 존재하지 않을 수도 있는 타입을 나타내는데, 값이 존재할 때는 옵셔널을 해제하여 일반적인 타입으로 변환해야 한다. 이때 '!' 연산자를 사용하여 옵셔널을 강제로 해재할 수 있다.
주의해야 할 점은 옵셔널이 'nil'일 경우 런타임 오류가 발생할 수 있다.
쉽게말해 Int(test)!에서 test는 String 타입의 문자열이고 Int타입으로 강제 변환하고자 할 때 '!' 연산자를 사용한다.
'Programmers' 카테고리의 다른 글
[iOS Swift] Lv.1 두 정수 사이의 합 (0) | 2024.05.13 |
---|---|
[iOS Swift] Lv.1 하샤드 수 (0) | 2024.05.13 |
[iOS Swift] Lv.1 정수 제곱근 판별 (0) | 2024.05.10 |
[iOS Swift] Lv.1 문자열을 정수로 바꾸기 (0) | 2024.05.10 |
[iOS Swift] Lv.1 자연수 뒤집어 배열로 만들기 (0) | 2024.05.10 |