[프로그래머스] 정수 내림차순 배치하기

lisoh·2022년 3월 11일
0
post-thumbnail

문제

정수 내림차순으로 배치하기

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한 조건

  • n은 1이상 8000000000 이하인 자연수입니다.

풀이 과정

//1. 숫자를 문자열로 바꾼다.
//2. 숫자를 한글자씩 쪼개서 배열로 만든다.
//3. 배열 내림차순 정렬 sort함수를 이용해 내림차순 정렬을 만든다.
//4. 정렬의 요소들을 join함수로 하나의 문자열로 묶어준다.
//5. Number함수로 문자열을 숫자형으로 바꾼다.
//6. 바꾼 결과값을 answer에 넣고 반환한다.

function solution(n) {
    const strN = n.toString();
    const arr = strN.split("");
    
    //배열 내림차순 정렬 sort 함수 
    arr.sort(function(a, b)  {
    return b - a;
    });
    
    return answer = Number(arr.join(''));
}

//핑구님과 리유님 풀이보고 나도 줄여봄 (method chaining)
function solution(n) {
    return answer = +(String(n)
	                  .split('')
                      .sort()
                      .reverse()
                      .join(''));    
}

관련 개념
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

profile
프론트엔드 개발자를 꿈꾸는 개발초보 호랑이

0개의 댓글