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

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

문제

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

입력 2

10

1 1 1 1 1 1 1 1 1 1

출력 2

1

입력 3

5

-1323 123 5 123 -4

출력 3

-1323 -4 5 123

접근

1. 숫자 하나를 입력받습니다.

2. 해당 숫자만큼 숫자를 입력받습니다.

2에서 받은 숫자들을 중복 제거하고 정렬해서 출력하면 끝입니다.

숫자의 순서도 중요하고 중복도 제거도 필요하므로 treeset을 써서 간단히 해결할 수 있었습니다.

코드

import java.awt.desktop.SystemEventListener; import java.io.*; import java.math.*; import java.util.*; public class Main { /* 10867 problem */ public static void main(String[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); TreeSet hs = new TreeSet<>(); int num = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br.readLine()); for(int i=0; i

주의

728x90

반응형

from http://kjs-dev.tistory.com/128 by ccl(A) rewrite - 2021-09-14 09:01:06