
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
문제 풀이
주어진 long타입 n을 문자열로 변환하고, 문자열 배열로 다시 변환하여 정렬 시킨다. 그 다음 정렬된 배열을 다시 문자열로 변환하여 long 타입으로 변환하여 반환시키면 된다. 이때 문제에 맞게 정렬을 내림차순으로 해주어야한다.
코드
public long solution(long n) {
String str = Long.toString(n);
Character[] chr = new Character[str.length()];
for (int i = 0; i < str.length(); i++) {
chr[i] = str.charAt(i);
}
Arrays.sort(chr, Collections.reverseOrder());
StringBuilder sb = new StringBuilder();
for (char c : chr) {
sb.append(c);
}
return Long.parseLong(sb.toString());
}