함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
int[] answer1=new int[String.valueOf(n).length()];
String answer2="";
int i=0;
while(n>0){
answer1[i]=(int)(n%10);
n /=10; i++;
}
Arrays.sort(answer1);
for(int num : answer1){
answer2+=String.valueOf(num);
}
String reversed = new StringBuilder(answer2).reverse().toString();
return Long.parseLong(reversed);
}
}
일의 자릿수만 줄이는 식으로 만들어 배열로 저장시켜준뒤
오름차순으로 정렬한번 해주고
그걸 다시 String 형태로 만들어주고
Stringbuilder 를 통해 역순으로 만들어준뒤 Long형태로 변환해준다.!!!
'자바 알고리즘 문제' 카테고리의 다른 글
| 하샤드 수 (0) | 2024.05.21 |
|---|---|
| 정수 제곱근 판별 (0) | 2024.05.20 |
| 자연수 뒤집어 배열로 만들기 (0) | 2024.05.18 |
| 자릿수 더하기 (0) | 2024.05.18 |
| 약수의 합 (0) | 2024.05.17 |