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

노력하는 배짱이·2021년 3월 30일
0

백준 알고리즘

목록 보기
29/35
post-thumbnail

문제

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

입력

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

출력

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

풀이

해당 문제는 주어지는 N개의 정수를 중복 없이 오름차순으로 출력하면 된다. 따라서 Set을 이용하여 중복을 제거하였고 ArrayList에 담아 정렬한 뒤 출력하면 된다.

소스

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();

		HashSet<Integer> hs = new HashSet<Integer>();

		for (int i = 0; i < n; i++) {
			hs.add(sc.nextInt());
		}

		ArrayList<Integer> al = new ArrayList<Integer>(hs);
		Collections.sort(al);

		for (int a : al) {
			System.out.print(a + " ");
		}

	}

}

0개의 댓글