May 05, 2020
문제
N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다.
입력
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
출력
첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다.
정렬, 그리고 중복된 수를 허용하지 않는다는 조건을 보고 바로 set이 떠올랐다. 입력을 set으로 받기만하고 출력만 해주면 될 것 같다.
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main (){
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
set<int> s;
cin >> N;
while(N--){
int n;
cin >> n;
s.insert(n);
}
for(auto i : s){
cout << i << " ";
}
return 0;
}