프로그래머스 1단계) 정수 내림차순으로 배치하기

2021. 12. 5. 16:48Algorithm/알고리즘

728x90
반응형

문제

15:36 - 16:47

1차 시도

import Foundation
func solution(_ n:Int) -> Int{
   var num = String(n)//"29463"
   var arr = [String]()
   var result = ""
    for i in num {
        arr.append(String(i))
        arr.sort(by: >)
        result = arr.joined(separator: "")
    }
    return Int(result) ?? 1
}

 

최종답안(통과)

import Foundation
func solution(_ n:Int64) -> Int64{
   let num = String(n)//"29463"
   var arr = [String]()
   var result = ""
    for i in num {
        arr.append(String(i))
        arr.sort(by: >)
        result = arr.joined(separator: "")
    }
    return Int64(result) ?? 1
}

 

 

정답제출

func solution(_ n:Int64) -> Int64 {
    return Int64(String(String(n).sorted(by: >)))!
}

 

유의미한답안

Q11. 정수 내림차순으로 배치하기
func solution(_ n:Int64) -> Int64 {
    return Int64(String(String(n).sorted(by: >)))!
}
정수 n을 문자열로 만들고, sorted로 내림차순 정렬을 한 배열로 만든 뒤 그 내림차순으로 만든 배열을 문자열로 바꾸고 문자열을 정수형으로 바꿈

다른 사람의 풀이
X

 

느낀점

map과 같은 고차함수 사용이 아직 익숙하지 않은것같고.. 분명 더 쉽게 풀수있을거같은데

엄청 쉬워보이는 문제같은데 잘 안풀려서 답답했다 ㅠ후

변수 선언해줄필요없이 한번에 리턴해서 처리해주는것도 가능하구나..ㅎ

728x90
반응형