문제의 핵心
1. 데이터 개수가 최대 1,000,000개다.
2. 카운팅 정렬을 활용하여 빠르게 정렬한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Q7_2751 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
boolean[] arr = new boolean[2000001];
int N = Integer.parseInt(br.readLine());
for(int i=0; i<N; i++) {
arr[Integer.parseInt(br.readLine()) + 1000000] = true;
}
for(int i=0; i < arr.length; i++) {
if(arr[i]) {
sb.append((i-1000000)).append('\n');
}
}
System.out.println(sb);
}
}
✅ 또 다른 방법으로는 Collection.sort를 이용하는 방법이 있다.
이 방법으로는 ArrayList 를 이용했다.
'이론 > Data Structure , Algorithm' 카테고리의 다른 글
[210926] 백준 10814번 문제 풀이 / 나이순 정렬 (0) | 2021.09.26 |
---|---|
[210916] 백준 5397번 문제 풀이 / 키로거 (0) | 2021.09.16 |
[210916] 백준 1966번 문제 풀이 / 프린터 큐 (0) | 2021.09.16 |
[210916] 백준 1874번 문제 풀이 / 스택 수열 (0) | 2021.09.16 |
[210915] 백준 2798번 문제 풀이 / 블랙잭 (0) | 2021.09.15 |