on
[백준] 자바 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