함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
function solution(n) {
let array = [...(n+"")]
array.sort((a,b)=>(b-a))
return parseInt(array.join(""))
}
나는 먼저 입력값을 배열로 만들었다.
n은 자연수이고, 숫자를 배열로 만들려면
숫자 -> 문자열 -> 배열
이렇게 3단계를 거쳐야한다.
그리고 내림차순을 하기 위하여
sort() 함수를 사용하고
문자열로 다시 만든다음,
그것을 다시 자연수로 변환했다.
function solution(n) {
const newN = n + "";
const newArr = newN
.split("")
.sort()
.reverse()
.join("");
return +newArr;
}
가장 좋아요를 많은 사람의 풀이이다.
return +newArr; 의 의미가 궁금했다.
자바스크립트에서는(+) 단항 더하기 연산자를 이용해서 문자열->숫자로 변환이 가능하다.
물론 문자열이 "123" 이 아닌 "cat" 이면 숫자로 변경이 불가능해서 NaN을 반환한다.