class Solution {
public long solution(long n) {
long answer = 0;
String digit = String.valueOf(n);
int count = digit.length();
long[] arr = new long [count];
long num = (long) Math.pow(10,count-1);
String newDigit="";
long newNum;
long max = 0;
for(int i=0; i< count; i++){
newNum = Long.parseLong(digit);
arr[i] = newNum / num;
digit = digit.substring(1,digit.length());
num = num/10;
}
for(int i=0; i<count; i++){
for(int j=0; j<count-1; j++){
if(arr[j]<arr[j+1]){
long temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int i =0;i <count; i++){
newDigit += String.valueOf(arr[i]);
}
answer = Long.parseLong(newDigit);
return answer;
}
}
테스트 케이스는 모두 통과했지만 너무 효율성이 떨어지는 코드다. 수정 요망