solution
은 정수 n
을 매개변수로 입력받습니다. n
의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. n
이 118372
면 873211
을 리턴하면 됩니다.n
은 1
이상 8000000000 이하인 자연수입니다.function solution(n) {
let answer = parseInt((n + "").split('').sort((a, b) => b - a).join("")); // n + ""
return answer;
}
console.log(solution(118372)); // 출력 : 873211
(n + "")
로 문자열로 만들어주고 split('')
으로 배열로 반환한다.sort()
로 내림차순으로 정렬을 하고 join('')
으로 문자열로 반환한다.parseInt()
로 정수로 바꿔줘서 return한다.function solution(n) {
const newN = n + "";
const newArr = newN
.split("")
.sort()
.reverse()
.join("");
return +newArr;
}
(n + "")
로 문자열로 만들어주고 newN
에 대입한다.newN
을 split('')
으로 배열로 만들어주고 sort()
로 오름차순 정렬한다.reverse()
로 거꾸로 뒤집어주고(내림차순) join('')
으로 문자열로 만들어준다.+
을 앞에 붙여서 숫자로 바꿔주고 return한다!나도 나름 한줄로 잘 풀었다고 생각했는데 다른 풀이를 보니
+
을 붙여서 숫자로 바꾸는법과reverse()
로 그냥 배열을 뒤집는 방법도 좋은 방법인 것 같다.