728x90
문제 및 제한사항
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
**제한사항**
n은 1이상 8000000000 이하인 자연수입니다.
풀이 방법
전 게시글 문제와 유사하다.
먼저 주어진 정수 n을 문자로 바꾼 후 split으로 나누어 배열로 바꿔 각 요소를 Number화 시켜준다.
이후 sort로 내림차순이 되게끔 정렬해주고, 현재 쪼개져 있는 배열을 join으로 문자화 시켜준다.
이 때 join을 쓰면 문자화 되는데, 리턴해야 하는 값은 숫자로 나와야 하기 때문에 Number, parstInt 등을 써서 숫자화 시켜주어야 한다.
그렇지 않으면 똑같이 생겨도 타입이 달라 오답이 발생한다.
코드
function solution(n) {
let nString = n.toString().split('').map(Number)
return (parseInt(nString.sort((a, b) => b-a).join('')))
}
728x90
'⚙️ 코딩테스트' 카테고리의 다른 글
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 하샤드 수 (0) | 2023.04.06 |
---|---|
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 문자열을 정수로 바꾸기 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 자연수 뒤집어 배열로 만들기 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 정수 제곱근 판별 (0) | 2023.04.06 |
[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 문자열 내 p와 y의 개수 (0) | 2023.04.06 |