문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴합니다.
제한 조건
- n은 1이상 80,000,000,000 이하인 자연수 입니다.
입출력 예
n | return |
118372 | 873211 |
나의 풀이
정수를 내림차순으로 배치해주기 위해 정수를 문자열로 바꾼 후 진행해주었다.
배열로 바꾼 후 그 값을 sort를 이용해 내림차순으로 정렬해주었다.
그 후 문자열인점을 이용해 reduce메서드를 사용해 그대로 붙여주었다.
"873211" 이라는 값을 뽑아냈지만 문자열이기 때문에 마지막에 다시 숫자로 변환시켜 주었다.
function solution(n) {
var answer = 0;
let str = String(n);
let strArr = str.split('');
result = strArr.sort(function(a,b){
return b-a;
});
answer = result.reduce((acc,el)=>{
return acc + el;
})
answer = Number(answer);
return answer;
}
'Algorithm' 카테고리의 다른 글
가장 가까운 같은 글자 [프로그래머스] (0) | 2023.10.16 |
---|---|
[1차] 비밀지도 [프로그래머스] (2) | 2023.10.16 |
정수 제곱근 판별 [프로그래머스] (0) | 2023.10.16 |
문자열을 정수로 바꾸기 [프로그래머스] (0) | 2023.10.16 |
자릿수 더하기 [프로그래머스] (0) | 2023.10.16 |