231122 TIL

chillakilla·2023년 11월 22일

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

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

입출력의 예

솔루션 코드

<script>
function solution(n) {
  let arr = n
    .toString()
    .split("")
    .sort((a, b) => b - a);
  let answer = parseInt(arr.join(""));
  return answer;
}
</script>
  • 입력받은 n을 문자열로 전환.
  • split을 통해 하나씩 분할
  • sort를 통한 정렬을 하는데, 내림차순으로 정렬해야하니 b - a 로 해줌.
  • 그 과정을 거친 걸 join 을 이용해 묶고 parseInt를 통해 정수로 변환
  • 마지막으로 answer에 할당한 후, return 값 반환

sort()

sort () 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다.
기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.

  • 구문
    arr.sort([compareFunction]);
    compareFunction Optional
    정렬 순서를 정의하는 함수. 생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬됩니다.

  • 반환값
    정렬한 배열. 원 배열이 정렬되는 것에 유의하세요. 복사본이 만들어지는 것이 아닙니다.

<script>
function compareNumbers(a, b) {
  return a - b;
}
오름차순
function compareNumbers(a, b) {
  return b - a;
}
내림차순
</script>

지금은 거의 외우듯이 저 두 개를 기억해 사용 중.

profile
꾸준하려 하는 쉽덕놈

0개의 댓글