Post

[이것이 코딩 테스트다 with Python] 위에서 아래로(Java)

Goal

“이것이 코딩 테스트다 with Python” 교재의 문제를 분석하고 코드와 함께 이해해보기 위한 글입니다.

문제 분석

주어지는 수를 내림차순으로 정렬하는 것을 요구하고 있습니다.

자바에 내장된 Arrays.sort()를 이용할 때 래퍼클래스를 사용하면 Comparator 사용이 가능해집니다. 이때, 내장된Comparator.reversOrder()를 사용해도 되고 직접 Comparator를 구현해도 됩니다.

람다식으로 구현한다고 하면 Arrays.sort(input, (s1, s2) -> s2 - s1); 처럼 할 수 있습니다.

코드 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class UpAndDown { //p178
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        Integer[] input = new Integer[n];

        for (int i = 0; i < n; i++) {
            input[i] = Integer.parseInt(br.readLine());
        }

        Arrays.sort(input, Comparator.reverseOrder());

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringBuilder sb = new StringBuilder();
        for (Integer s: input) {
            sb.append(s).append(" ");
        }
        bw.write(sb.toString());
        br.close();
        bw.close();
    }
}

This post is licensed under CC BY 4.0 by the author.