우선 long type으로 정수를 입력 받고 이를 String으로 형변환.
String으로 형변환을 진행했으면 이를 또 array로 형변환.
array 상태에서 한 번 내림차순으로 정렬.
그 후 다시 이 array를 string으로 변환.
String -> Long으로 형변환 후에 return해주기.
문제는 어렵지 않았으나, 외워야 할 문법이 늘어났다.....
long answer = 0;
String n_ = Long.toString(n);
String answer_ = "987321";
answer = Long.parseLong(answer_);
String n_ = Long.toString(n);
arr[n_.length()-i-1] = Long.valueOf(n_.charAt(i)-'0');
오름차순의 경우, 그냥 Array.sort()
내림차순의 경우는 복잡함...
public static void sort(@NotNull T[] a,@Nullable java.util.Comparator<? super T> c)
Arrays.sort(arr, Collections.reverseOrder());
Collection을 이용하고, 배열을 넣는 자리 또한, list 형태?로 해줘야 함.
import java.util.Arrays;
import java.util.Collections;
class Solution {
public static long solution(long n) {
long answer = 0;
String n_ = Long.toString(n);
Long [] arr = new Long[n_.length()];
for (int i=0; i<n_.length(); i++){
arr[n_.length()-i-1] = Long.valueOf(n_.charAt(i)-'0');
}
Arrays.sort(arr, Collections.reverseOrder());
String answer_ = "";
for (int i=0; i<n_.length(); i++){
answer_ += arr[i];
}
answer = Long.parseLong(answer_);
return answer;
}}