알림
본 포스팅은 공부 목적으로 작성된 글이며 상업적 목적으로 절대 사용되지 않았음을 밝힙니다.
문제
https://programmers.co.kr/learn/courses/30/lessons/12933
코딩테스트 연습 - 정수 내림차순으로 배치하기
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이
programmers.co.kr
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를 들어 n이 118372면 873211을 리턴하면 됩니다.
코드
function solution(n) {
return Number(n.toString().split('').sort((a, b) => b - a).join(''));
}
풀이
매개변수 n을 toString 함수를 이용해 문자열로 변환해주고, split 함수로 하나씩 나눠줍니다. 이렇게 되면 어떤 숫자가 들어오는 하나씩 분리를 할 수가 있고, 이렇게 하나씩 분리된 숫자를 문제의 의도대로 내림차순으로 정렬 후, join 함수로 하나씩 이어줍니다.
여기서 함수 사용 시 어떻게 이어줄지 작성할 수가 있는데, 예를 들어 join('-')로 작성하면 '0-0-0-0'으로 이어질 것이고, join('')으로 작성하면 '0000'이 될 것입니다. 저희는 두 번째 형태로 숫자를 이어줄 것이기 때문에 후자처럼 작성하시면 됩니다.
하지만 아직 숫자를 문자열로 변환해준 상태라 바로 리턴을 하면 문자가 출력이 됩니다. 따라서 지금까지의 작업을 변수에 담고, 그 변수를 Number 함수로 숫자로 변환해주든가, 전체를 Number 함수 안에서 작성하시면 됩니다.
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 이상한 문자 만들기(JavaScript) (0) | 2022.05.10 |
---|---|
[Programmers] 자릿수 더하기(JavaScript) (0) | 2022.05.08 |
[Programmers] 정수 제곱근 판별(JavaScript) (0) | 2022.05.06 |
[Programmers] 자연수 뒤집어 배열로 만들기 (0) | 2022.05.05 |
[Programmers] 문자열을 정수로 바꾸기(JavaScript) (0) | 2022.05.04 |
댓글