[이것이 코딩 테스트다 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.