문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한사항
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
s | return |
---|---|
118372 | 873211 |
나의 풀이
function solution(n) {
var answer = (n + "")
.split("")
.sort(function compare(a, b) {
return b - a;
})
.reduce((acc, curr) => acc + curr, "");
return answer * 1;
}
문자열로 바꾼 후, sort
이용해 정렬한 뒤 reduce
로 합쳤다.
참고 풀이
function solution(n) {
const newN = n + "";
const newArr = newN
.split("")
.sort()
.reverse()
.join("");
return +newArr;
}
sort
로 오름차순으로 정렬하고, reverse
로 뒤집었다.
배열을 합치는데는 join
을 사용하였다.
문자열 앞에 +
를 추가하는 것으로 숫자로 바꿀 수 있다.