본문 바로가기

BOJ 길라잡이

[C/C++ 백준 10867번] 중복 빼고 정렬하기 (Silver 5)

www.acmicpc.net/problem/10867

 

10867번: 중복 빼고 정렬하기

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

www.acmicpc.net

전에 있던 문제와 비슷한 문제. 수의 절댓값이 제한되어 있기 때문에, 잘 이용하면 된다. 

 

#include <cstdio>
#include <algorithm>
using namespace std;
int main(void){
	int N, num[2002], x;
	fill(num, num+2003, 0);
	scanf("%d", &N);
	for(int i=0; i<N; i++){
		scanf("%d", &x);
		num[x+1000]++;
	}
	for(int i=0; i<2002; i++){
		if(num[i]){
			printf("%d ", i-1000);
		}
	}
}