-
항해99 2주차 알고리즘 풀이6알고리즘 풀이 2021. 11. 10. 18:13
정수 내림차순으로 배치하기
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n return 118372 873211 문제분석
1. 118372를 문자배열로 변경해서 sort로 내림차순 배열해주기.
2. 배열을 하나의 문자열로 합친다음 숫자로 변경
문제풀이
function solution(n) {
//자바스크립트가 동적타입이기 때문에 숫자에 ''를 더해주면 문자열로 변하게됨.(118372->'118372')
.split('')스플릿의 파라미터 안에 ''나 ""만 입력하게되면 '1','1','8','3','7','2'의 배열이 된다.
var number = (n + '').split('')
number.sort(function(a, b) {
return b - a; //내림차순으로 정렬('8','7','3','2','1','1')
});
const str = number.join(''); //배열들을 하나의 문자열로 묶어준다.('873211')
return +str; 문자열에 +를 붙여 숫자로 만들어줌(87311)
}
***
문자열을 합쳐주는 join함수
const str = 'a', 'b', 'c'
join(); => 'a, b, c'
join('-'); => 'a-b-c'
join('') => 'abc'
'알고리즘 풀이' 카테고리의 다른 글
항해99 2주차 알고리즘풀이 (0) 2021.11.11 항해99 2주차 알고리즘풀이7 (0) 2021.11.11 항해99 2주차 알고리즘풀이 5 (0) 2021.11.10 항해99 2주차 알고리즘 풀이4 (0) 2021.11.09 항해99 2주차 알고리즘 풀이3 (0) 2021.11.09