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()로 그냥 배열을 뒤집는 방법도 좋은 방법인 것 같다.