[Level 1] 정수 내림차순으로 배치하기
글 작성자: NoHack
728x90
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1 이상, 8,000,000,000 이하인 자연수입니다.
문제 풀이
const solution = (n) => {
return Number(
Array.from(String(n), (v) => Number(v))
.sort((a, b) => b - a)
.join('')
);
};
const inputs = [118372];
inputs.forEach((input) => console.log(solution(input)));
저는 이 문제를 풀 때 숫자를 문자열로 변환한 후 배열로 만들어 처리했습니다. 문자열을 Array.from 메소드의 인자로 지정하면, 문자 단위로 잘라 배열로 만들어 줍니다. 그리고 Array.from의 두 번째 인자로 각 요소를 어떻게 처리할 것인지 명시했는데, 문자로 자르게 되면 나중에 우리가 원하는 대로 정렬할 수 없어 각 문자를 숫자로 변환했습니다. 이렇게 각 자리의 숫자들로 배열을 구성한 이후에는 sort 메소드로 정렬하고, join 메소드로 배열을 합쳐 문자열로 변환하면 됩니다.
'📝 문제풀이 > 프로그래머스' 카테고리의 다른 글
[Level 1] 자릿수 더하기 (0) | 2022.02.25 |
---|---|
[Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.02.25 |
[Level 1] 정수 제곱근 판별 (0) | 2022.02.25 |
[Level 1] 제일 작은 수 제거하기 (0) | 2022.02.24 |
[Level 1] 짝수와 홀수 (0) | 2022.02.24 |
댓글
이 글 공유하기
다른 글
-
[Level 1] 자릿수 더하기
[Level 1] 자릿수 더하기
2022.02.25 -
[Level 1] 자연수 뒤집어 배열로 만들기
[Level 1] 자연수 뒤집어 배열로 만들기
2022.02.25 -
[Level 1] 정수 제곱근 판별
[Level 1] 정수 제곱근 판별
2022.02.25 -
[Level 1] 제일 작은 수 제거하기
[Level 1] 제일 작은 수 제거하기
2022.02.24