문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 사항
- n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
118372 | 873211 |
Python
def solution(n):
temp = list(str(n))
temp.sort(reverse = True)
return int("".join(temp))
JavaScript
function solution(n) {
var str = n+"";
var arr = [];
for(let i = 0; i < str.length; i++)
arr.push(Number(str[i]));
arr.sort((a,b)=>b-a);
return Number(arr.join(''));
}
C++
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
long long solution(long long n) {
long long answer = 0LL;
vector<int> temp;
while(true) {
temp.push_back(n%10);
if(n/10==0) break;
else n = n/10;
}
sort(temp.begin(), temp.end(), greater<int>());
int i=1;
while(!temp.empty()) {
int val = temp.back();
temp.pop_back();
answer = answer + val*i;
i=i*10;
}
return answer;
}
'개발노트&IT > 코딩테스트' 카테고리의 다른 글
[프로그래머스|Level.1] 제일 작은 수 제거하기 (0) | 2021.01.27 |
---|---|
[프로그래머스|Level.1] 정수 제곱근 판별 (0) | 2021.01.27 |
[프로그래머스|Level.1] 자연수 뒤집어 배열로 만들기 (0) | 2021.01.24 |
[프로그래머스|Level.1] 자릿수 더하기 (0) | 2021.01.24 |
[프로그래머스|Level.1] 이상한 문자 만들기 (0) | 2021.01.24 |
최근댓글