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

문제 출처

Lv.1 정수 내림차순으로 배치하기 - JavaScript

문제 설명

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

제한 조건
  • n은 1이상 8000000000 이하인 자연수입니다.
예시

입출력 예

n return
118372 873211
풀이
function solution(n) {
  // 들어온 숫자를 배열로 변환하기 위해 우선 문자열로 변환한다.
  // 118372 -> "118372"
  const str = n.toString();

  // split() 메서드를 이용해 문자열을 배열로 변환한다.
  // "118372" -> ["1", "1", "8", "3", "7", "2"]
  const arr = str.split("");

  // Array의 sort() 메서드를 이용해 문자를 정렬한다.
  // ["1", "1", "8", "3", "7", "2"] -> ["8", "7", "3", "2", "1", "1"]
  const sortedArr = arr.sort((a, b) => b - a);

  // join() 메서드를 이용해 배열을 문자열로 변환한다.
  // ["8", "7", "3", "2", "1", "1"] -> "873211"
  const sortedStr = sortedArr.join("");

  // 최종적으로 나온 정렬된 문자열 값을 정수로 변환 후 반환한다.
  // "873211" -> 873211
  return parseInt(sortedStr);
}

console.log(solution(118372)); // 873211
정리

오늘은 배열에서 자주 사용하는 split(), sort(), join() 메서드와 toString(), parseInt() 메서드를 사용하여 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!

split() 메서드 - MDN
sort() 메서드 - MDN
join() 메서드 - MDN
parseInt() 메서드 - MDN
toString() 메서드 - MDN

피드백은 언제나 환영입니다. 😊