알고리즘/JS
정수 내림차순으로 배치하기
namu445
2022. 1. 17. 13:48
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
118372 | 873211 |
답
function solution(n) {
var answer = '';
//정수 문자로 변경
let list = n.toString();
//자리 수 비교를 위해 나누기
let array = list.split('')
//내림차순으로 정렬
array.sort(function(a, b) {
return b-a;
})
//합치기
array = array.join('');
//정수로 변경
answer = parseInt(array);
console.log(answer)
return answer;
}
//아래는 문자로 변환 하지 않는 방법 훨~씬 빠르다. 0.0x ms와 4.xx ms
function solution(n) {
var nums =[];
do{
nums.push(n%10);
이부분에서 Math를 쓰지 않으면 소수점 아래 수가 들어와서 오류가 난다.
n=Math.floor(n/10);
} while(n>0)
return nums.sort((a,b)=>b-a).join('')*1;
}