문제 요약:
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n return
118372 873211
구현코드:
import java.util.*;
class Solution {
public long solution(long n) {
String a=""+n;
char[] list =new char[a.length()];
for(int i=0;i<a.length();i++){
list[i]=a.charAt(i);
}
Arrays.sort(list);
String k="";
for(int i=list.length-1;i>=0;i--){
k+=list[i];
}
long answer = Long.parseLong(k);
return answer;
}
}
코드해석:
내림차순String 으로 만들기 위해서
Arrays.sort(array, Collections.reverseOrder());
을 사용하여 더해도 상관없지만 나는 Arrays.sort(array)사용 후 맨뒤부터 i--하면서 String 에 더해주었다.그 후 long으로 바꿔주기 위해서 Long.parseLong 을 사용하였다 Integer.parseInt 는 알고있었지만 Long.parseLong이건 처음보는 함수였다. 기억해야지 !!