728x90
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예시
나의 풀이
function solution(n) {
return (n+"").split('').sort().reverse().join('')/1
}
문자열 변환 "118372"
스플릿하고 ["1", "1", "8", "3", "7", "2"]
정렬하고 ["1", "1", "2", "3", "7", "8"]
리버스하고["8", "7", "3", "2", "1", "1"]
조인하고 "873211"
숫자형으로 반환 873211
하지만 문자 풀이는 처리속도가 느리다.
모범 답안
var nums =[];
do{
nums.push(n%10);
n=Math.floor(n/10);
} while(n>0)
return nums.sort((a,b)=>b-a).join('')*1;
23번 포스팅글과 동일한 방식으로 진행하며 숫자형데이터 sort했다.
'알고리즘' 카테고리의 다른 글
26. 제일 작은 수 제거하기 (0) | 2022.01.18 |
---|---|
25. 정수 제곱근 판별 (JavaScript) (0) | 2022.01.18 |
23. 자연수 뒤집어 배열로 만들기 (JavaScript) (0) | 2022.01.18 |
22. 자릿수 더하기 (JavaScript) (0) | 2022.01.18 |
20. 완주하지 못한 선수 (1) | 2022.01.18 |
댓글