반응형
안녕하세요
오늘은 프로그래머스
자연수 뒤집어 배열로 만들기를 풀었습니다
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건- n은 1이상 8000000000 이하인 자연수입니다.
118372 | 873211 |
나의 풀이
func solution(_ n:Int64) -> Int64 {
let str = String(n)
let result = str.sorted().reversed()
return Int64(String(result))!
}
내가 사용한건 우선 정렬을 한 후 뒤집은 후에
result type이 배열이기 때문에
우선 String-Int64로 자료형 변환을 하고 있는걸 볼 수 있습니다
다른 사람 풀이
func solution(_ n:Int64) -> Int64 {
return Int64(String(n).sorted(by: >).reduce("") {String($0) + String($1)})!
}
다른 사람의 풀이들 중 다른 분들과 다르게 아이디어가 신박하다고 생각하여서 가지고 왔습니다
고차함수를 사용해서 배열로 변환된 요소들을 붙이려고 reduce를 사용하는걸 볼 수 있었습니다
반응형
'Programmers > LV1.' 카테고리의 다른 글
Lv1 | Swift - 평균 구하기 (0) | 2024.06.07 |
---|---|
Lv1 | Swift - 정수 제곱근 판별 (0) | 2024.06.05 |
Lv1 | Swift - 자연수 뒤집어 배열로 만들기 (0) | 2024.06.03 |
Lv1 | Swift - 자릿수 더하기 (1) | 2024.05.31 |
Lv1 | Swift - 약수의 합 (0) | 2024.05.30 |