PS/Java

[백준] 1427. 소트인사이드

siyamaki 2022. 3. 31. 13:26

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


입력

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

출력

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


예제 입력 1

2143

예제 출력 1

4321

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    public static void main(String[] args) throws Exception {
        String[] str = br.readLine().split("");
        ArrayList<Integer> list = new ArrayList<>();
        for(String s : str) {
            list.add(Integer.parseInt(s));
        }
        Collections.sort(list, (Integer i1, Integer i2) -> {
            return i2 - i1;
        });
        for(int i : list) {
            bw.write(Integer.toString(i));
        }
        br.close();
        bw.flush();
        bw.close();
    }
}

정렬하고자 하는 List에 람다식 또는 Collections.sort(list, Collections.reverseOrder())를 적용하면 된다.