본문 바로가기
알고리즘

24. 정수 내림차순으로 배치하기 (JavaScript)

by 프잘백 2022. 1. 18.
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했다.

댓글