N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다.
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다.
set
을 사용하였다.set
과 boolean
배열인데 음수가 나올 수 있기 때문에 좀 더 까다로울 것 같아서 알아서 set
을 사용하였다.set
은 정렬도 알아서 해주기 때문에 set
에 모든 정수를 넣었다가 다시 출력하는 것만으로 중복 빼고 정렬이 가능하다.#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
set<int> s;
int length;
cin >> length;
for (int i = 0; i < length; i++){
int number;
cin >> number;
s.insert(number);
}
for (auto it = s.begin(); it !=s.end(); it++){
cout << *it << " ";
}
}