public class Solution {
public long solution(long n) {
long answer = n;
int num = 0;
while(true)
{
n = n / 10;
num++;
if (n == 0) break;
}
long[] nums = new long[num];
for (int i = 0; i < num; ++i)
{
nums[i] = answer % 10;
answer = answer / 10;
}
answer = 0;
long empty = 0;
for(int j = 0; j < num - 1; ++j)
{
for (int i = 0; i < num - 1; ++i)
{
if(nums[i] < nums[i + 1])
{
empty = nums[i+1];
nums[i + 1] = nums[i];
nums[i] = empty;
}
}
}
long x = 1;
for(int i = 0; i < num; ++i)
{
for(int j = 0; j < num - 1 - i; ++j)
{
x *= 10;
}
answer += nums[i] * x;
x = 1;
}
return answer;
}
}
'C# 알고리즘 코드카타' 카테고리의 다른 글
22. 두 정수 사이의 합 (0) | 2023.11.08 |
---|---|
21. 하샤드 수 (0) | 2023.11.08 |
19. 정수 제곱근 판별 (0) | 2023.11.07 |
18. 문자열을 정수로 바꾸기 (0) | 2023.11.07 |
17. 자연수 뒤집어 배열로 만들기 (0) | 2023.11.06 |