[프로그래머스] 정수 내림차순으로 배치하기 - 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
피드백은 언제나 환영입니다. 😊