# 문제 원문
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n / return
118372 | 873211 |
# 문제 풀이
입력 받은 정수 n의 각 자릿수들을 배열로 만들어서 정렬한 후 합쳐서 반환하는 문제이다. 간단히 형변환해서 풀면 된다.
입력 받은 정수 n을 문자열로 형변환한 후 쪼개서 배열로 만들고 sort(b - a)로 정렬후 합쳐서 반환하면 끝.
# 솔루션 플로우
1. 입력 받은 정수 n을 문자열로 형변환한다.
2. 형변환 된 문자열 n을 쪼개서 배열로 만든다.
3. 문자열 배열 n[]을 정렬해준다. (b - a)
4. 정렬된 배열 n[]을 합해서 문자열로 만들어 준다.
5. 그렇게 얻어진 result를 정수로 형변환해서 반환한다.
1. 형변환을 이용한 풀이
function solution(n) {
return parseInt(
n.toString()
.split('')
.sort((a, b) => b - a)
.join('')
);
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1] 수박수박수박수박수박수? (0) | 2021.08.19 |
---|---|
[프로그래머스][LEVEL1] 두 정수 사이의 합 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 자릿수 더하기 (0) | 2021.08.19 |
[프로그래머스][LEVEL1]문자열 내림차순으로 배치하기 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 같은 숫자는 싫어 (0) | 2021.08.19 |