코드: https://github.com/kgh128/Problem-Solving/blob/main/src/Baekjoon/p10867.java
BufferedReader로 받은 숫자들(String)을 int형으로 바꿔서 int형 배열에 넣는다.
Arrays.sort()를 이용해 오름차순으로 정렬한다.
배열의 가장 첫번째 원소는 일단 버퍼에 넣고, 나머지 N-1개의 원소들을 반복문을 돌면서 중복을 제거한다. 배열이 정렬되어 있으므로 같은 숫자들은 배열에서 연속적으로 존재한다. (여기저기에 흩어져 있지 않다.) 그러므로 자기 앞에 있는 원소가 나와 같은지만 확인하면 된다. 반복문을 돌면서 num[i] == num[i-1]이면 버퍼에 넣지 않는 형식으로 하면 같은 숫자들 중에서 배열에 가장 앞에 위치한 원소만 버퍼에 들어간다.
bw.append(num[0]).append(' ');
for (int i = 1; i < N; i++) {
if (num[i] == num[i-1]) {
continue;
}
bw.append(num[i]).append(' ');
}
System.out.print(bw);
Set에 원소 추가(중복 제거) -> Set을 ArrayList로 변환 -> 정렬자료구조를 활용한 풀이였다. 중복 제거로 미리 원소를 줄여놓고 정렬을 하는 것도 괜찮을 것 같다.