728x90
반응형
정수 내림차순으로 배치하기
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를
큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
🍔n은 1이상 8000000000 이하인 자연수입니다.
입출력 예시
n | return |
---|---|
118372 | 873211 |
🍔내가 한 풀이
문자로 변환한뒤 하나씩 나눠주고 sort를 이용하여 내림차순으로 배열한후 다시 숫자로 만들어 주었다.
const n = 118372;
function solution(n) {
var answer = 0;
answer = n.toString().split('').sort((a,b) => b-a).join('');
return Number(answer);
}
🍔다른 풀이
문자로 해결 하신분들도 많던데 숫자로 해결하신 분들도 있었다...! 문자보다는 숫자로 푸는게 더 실행속도가 빠르다는 의견이다..!🤩
function solution(n) {
//숫자가 분명히 더 빠름
var nums =[];
do{
nums.push(n%10);
n=Math.floor(n/10);
} while(n>0)
return nums.sort((a,b)=>b-a).join('')*1;
}
'알고리즘 공부' 카테고리의 다른 글
프로그래머스 1단계 - 제일 작은 수 제거하기 (1) | 2022.11.21 |
---|---|
프로그래머스 1단계 - 가운데 글자 가져오기 (1) | 2022.11.18 |
프로그래머스 1단계 - 약수의 합 (1) | 2022.11.16 |
프로그래머스 1단계 - 자연수 뒤집어 배열로 만들기 (1) | 2022.11.16 |
프로그래머스 1단계 - 문자열을 정수로 바꾸기 (2) | 2022.11.14 |
댓글