배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
첫째 줄에 정렬하려고 하는 수 N
이 주어진다. N
은 1,000,000,000보다 작거나 같은 자연수이다.
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
2143
4321
999998999
999999998
61423
64321
500613009
965310000
-문제를 번역한 사람: baekjoon
-빠진 조건을 찾은 사람: bvba, djm03178
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Code1427 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String number=scanner.next();
int len=number.length();
Integer[] strnum=new Integer[len];
for(int i=0;i<len;i++){
strnum[i]=Integer.valueOf(number.charAt(i)-'0');
}
Arrays.sort(strnum, Collections.reverseOrder());
String answer="";
for(int i=0;i<len;i++){
answer=answer+String.valueOf(strnum[i]);
}
System.out.println(Integer.valueOf(answer));
}
}
수를 입력받을 때 문자열로 입력받고,Integer
배열에 저장한 후 Arrays.sort(strnum,Collections.reverseOrder())
을 통해 내림차순으로 정렬해주자.
그다음 answer
문자열에 저장한 다음 마지막 출력에 숫자로 바꿔준다.