import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String temp = String.valueOf(n);
int[] digits = new int[temp.length()];
for(int i = 0; i < digits.length; i++) {
digits[i] = temp.charAt(i) - '0';
}
Arrays.sort(digits);
int[] array = new int[digits.length];
for(int i = 0; i < digits.length; i++) {
array[i] = digits[digits.length - 1 - i];
}
temp = Arrays.toString(array).replaceAll("[^0-9]","");
answer = Long.parseLong(temp);
return answer;
}
}
각 자릿수를 정수 배열 digits에 저장하고 digits을 오름차순으로 정렬한다. 그런다음 array 배열에 각 요소 값들이 digis.length - 1 - i 인덱스 접근식으로 내림차순으로 들어가게 한다. 그런다음 배열->문자열->long 타입으로 변환시켜주면 된다.