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

젬마·2023년 2월 21일
0

문제

문제 설명

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

제한 사항

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

풀이

나의 코드

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

설명

  • n을 문자열로 변환한 후 각각의 요소를 잘라 배열을 만들었다. sort 함수를 응용하여 내림차순으로 정렬한 후, join 함수를 이용해 하나로 이어 붙였다.
  • 위의 값을 숫자 형태로 변환한 후 반환했다.
  • sort()
    • 배열을 정렬한 후 반환하는 함수 (원래 배열이 변경됨에 주의)
    • compareFunction이 없으면 유니코드 포인트 순서로 정렬됨에 주의해야 함.
    • 숫자 배열을 오름차순으로 정렬할 때 compareFunction
      • sort((a, b) => a - b)
    • 내림차순으로 정렬할 때 compareFunction
      • sort((a, b) => b - a)
  • join()
    • 배열의 모든 요소를 연결해 하나의 문자열을 반환하는 함수
    • 옵션으로 seperator를 받는데, 생략하면 배열의 요소들이 쉼표로 구분됨. 빈 문자열이라면 모든 요소들의 사이에 아무것도 없는 상태로 붙어서 연결됨.
profile
취준생은 프론트엔드의 꿈을 꾸는가

0개의 댓글