PS/Java

[백준] 10867. 중복 빼고 정렬하기

siyamaki 2022. 4. 1. 10:08

N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다.


입력

첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.

출력

첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다.


예제 입력 1

10
1 4 2 3 1 4 2 3 1 2

예제 출력 1

1 2 3 4

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Collections;
import java.util.LinkedList;
import java.util.StringTokenizer;

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 {
        br.readLine();
        StringTokenizer st = new StringTokenizer(br.readLine());
        LinkedList<Short> list = new LinkedList<>();
        Short i = 0;
        while(st.hasMoreTokens()) {
            i = Short.parseShort(st.nextToken());
            if(!list.contains(i)) {
                list.add(i);
            }
        }
        Collections.sort(list);
        for(Short k : list) {
            bw.write(k + " ");
        }
        br.close();
        bw.flush();
        bw.close();
    }
}

값을 입력받을 때 마다 리스트에 존재하는지 확인하고 없을때만 추가하고 Collections.sort()로 정렬한 다음 출력한다.