문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

 

나의 풀이

 주어진 숫자를 배열이든 Collection이든 넣고 내림차순 정렬을 하면 끝. 단 Collection은 중복을 허용하는 List를 사용했다. 

코드

import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int num =Integer.parseInt(br.readLine());
        ArrayList<Integer> list = new ArrayList<>();
        
        while(num>0) {
            list.add(num%10);
            num /=10;
        }
        
        Collections.sort(list, Collections.reverseOrder());
        StringBuilder sb= new StringBuilder();
        for(int i=0; i<list.size(); i++) {
            sb.append(list.get(i));
        }
        bw.write(sb.toString()+"\n");
        bw.flush();
    }
}

+ Recent posts