[JS] 정수를 내림차순으로 배치하기
2023. 5. 1. 08:37ㆍ코딩테스트
1. 문제설명
함수 solution은 정수 n을 매개변수로 입력받습니다.
n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
n
은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
---|---|
118372 | 873211 |
2.해결
function solution(n) {
let result = String(n).split("").map(Number).sort((a, b) => {
if (a > b) {
return -1;
}
}).join("")
return parseInt(result);
}
짧은 코드가 무조건 좋은건 아니지만 최대한 줄여보려고 노력한 코드다.
첫번째로 배열로 만들어서 sort함수를 사용해 배열을 정렬한다.
그리고 배열의 요소를 합쳐준다. 그때 join 함수는 배열의 요소를 합칠 때 사용한다.
합친 요소들은 String 형태로 넘어오는데 문제는 숫자형으로 리턴해야 한다. 그래서 parseInt로 result 를 가져왔다.
'코딩테스트' 카테고리의 다른 글
[JS] 문자열 내림차순으로 배치하기 (0) | 2023.05.01 |
---|---|
[JS] 배열의 합 구하기 (0) | 2023.05.01 |
[JS] 서울에서 김서방 찾기 (0) | 2023.05.01 |
[JS] 자릿수 더하기 (0) | 2023.05.01 |
[JS] 자연수 뒤집어 배열로 만들기 (0) | 2023.05.01 |