[JS] 정수를 내림차순으로 배치하기

2023. 5. 1. 08:37코딩테스트

1. 문제설명


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

제한 조건

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

입출력 예

n return
118372 873211

2.해결


function solution(n) {
  let result = String(n).split("").map(Number).sort((a, b) => {
        if (a > b) {
          return -1;
        }
      }).join("")

    return parseInt(result);
}

짧은 코드가 무조건 좋은건 아니지만 최대한 줄여보려고 노력한 코드다.
첫번째로 배열로 만들어서 sort함수를 사용해 배열을 정렬한다.
그리고 배열의 요소를 합쳐준다. 그때 join 함수는 배열의 요소를 합칠 때 사용한다.
합친 요소들은 String 형태로 넘어오는데 문제는 숫자형으로 리턴해야 한다. 그래서 parseInt로 result 를 가져왔다.