함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Arrays;
class Solution {
public long solution(long n) {
long answer = 0;
String number = n + "";
String temp = "";
String[] nums = number.split("");
ArrayList<String> numbers = new ArrayList<String>(Arrays.asList(nums));
// Collections 객체의 정렬과 리버스를 쓰기 위해 ArrayList 생성
Collections.sort(numbers); // 오름차순 정렬 후 뒤집어 내림차순 정렬
Collections.reverse(numbers);
temp = String.join("", numbers); //join을 사용해 한개의 string으로 결합
answer = Long.parseLong(temp); // string을 long 타입으로 변환
return answer;
}
}
long타입 숫자에 문자열를 더해 문자열로 변경
split을 이용해 배열로 변환
위의 배열을 이용해서 Arraylist 생성
Collections의 sort를 사용해 오름차순 정렬
Collections의 reverse를 사용해 뒤집어 내림차순 정렬
join을 사용해 하나의 문자열로 합친다
parseLong을 이용해 문자열을 Long타입 숫자로 변경
Collections에 정렬과 리버스 기능이 존재해 사용해 보았다.