[프로그래머스 Lv1] 정수 내림차순으로 배치하기 - (Javascript)

eeeyooon·2023년 12월 1일
0

정수 내림차순으로 배치하기

문제 링크

📩 문제 설명

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

제한사항

n은 1이상 8000000000 이하인 자연수입니다.

입출력 예

nreturn
118372873211

제출 답안

function solution(n) {
    return +(n.toString().split("").sort((a,b) => b-a).join(""))
}

    

답안 설명

n을 먼저 문자열로 바꿔준 뒤, 배열로 만들고 내림차순으로 정렬시킨 뒤 다시 문자열로 바꾸고 숫자로 바꾸어주었다. 이 일련의 과정을 떠올리는건 쉬웠는데 좀 더 코드를 줄일 수 있는 방법이 뭘까 고민이 되었다.

function solution(n) {
    
    return parseInt([...(n.toString())].sort((a,b) => b-a).join(""));
    
}

지난번 문제에서 문자열 또한 이터러블하기 때문에 전개구문연산자를 사용할 수 있는 걸 활용했다. 그 뒤 sort()와 join()을 사용한 것은 같다. 기존 답안과 새로운 답안 중 어떤 게 더 나은 코드인지는 모르겠어서 프로그래머스 테스트의 시간을 비교해봤는데 둘이 미세한 차이뿐이었지만 기존 답안의 속도가 조금 더 빨랐다.



0개의 댓글