Problem
- Your task is to make a function that can take any non-negative integer as a argument and return it with its digits in descending order.
- 음수가 아닌 정수(0-9)를 내림차순으로 반환한다.
Solution 01
function descendingOrder(n) {
return Number(String(n).split('').sort().reverse().join(''));
}
descendingOrder(1234); // 4321
descendingOrder(5678); // 8765
Number()
: 객체 인수를 숫자로 변환한다. 숫자로 변환할 수 없으면 NaN을 반환한다.
String()
: 객체의 값을 문자열로 변환한다.
split()
: 문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.
sort()
: 배열의 element를 정렬한 후, 그 배열을 반환한다.
reverse()
: 배열 내 element의 순서를 반전한다.
join()
: 배열의 모든 element를 결합하고, 새 문자열로 반환한다.
Solution 02
function descendingOrder(n) {
return Number(n.toString().split('').sort((a, b) => b - a).join(''));
}
descendingOrder(1234); // 4321
descendingOrder(5678); // 8765
toString()
: 숫자를 문자열로 반환한다.
Solution 03
function descendingOrder(n) {
return parseInt(n.toString().split('').sort((a, b) => b - a).join(''));
}
descendingOrder(1234); // 4321
descendingOrder(5678); // 8765
parseInt()
: 문자열을 구문 분석하고, 정수를 반환한다.
Solution 04
function descendingOrder(n) {
return +(n.toString().split('').sort((a, b) => b - a).join(''));
}
descendingOrder(1234); // 4321
descendingOrder(5678); // 8765