문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
import java.util.*;
class Solution {
public long solution(long n) {
String number = String.valueOf(n);
String [] array = number.split("");
Arrays.sort(array);
StringBuilder sb = new StringBuilder();
for(String s : array){
sb.append(s);
}
long answer = Long.parseLong(sb.reverse().toString());
return answer;
}
}
-Arrays.sort() : 배열을 오름차순으로 정리
-StringBuilder : 문자열을 합쳐야할때 += 를 사용하지 않고 붙일 수 있다. 대신 String 객체에 넣기 위해서는 toString()메서드를 사용해야한다. (StringBuilder의 reverse()메서드를 이용하기 위해 사용)
'JAVA > 코딩테스트연습' 카테고리의 다른 글
자릿수 더하기 (0) | 2022.09.02 |
---|---|
자연수 뒤집어 배열로 만들기 (0) | 2022.09.01 |