Algorithm/Baekjoon Online Judge
백준 10867 중복빼고 정렬하기 [C++]
감성적인 개발자
2021. 7. 25. 19:31
https://www.acmicpc.net/problem/10867
10867번: 중복 빼고 정렬하기
첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.
www.acmicpc.net
소스코드
#include<iostream>
#include<list>
using namespace std;
void sol(){
int N, num;
list<int> ls;
cin >> N;
for(int i = 0; i < N; i++){
cin >> num;
ls.push_back(num);
}
ls.sort();
ls.unique();
ls.resize(ls.size());
for(auto i = ls.begin(); i != ls.end(); i++){
cout << *i << ' ';
}
}
int main(){
sol();
}
- list에 반복으로 입력받은 후, unique를 사용하기 위해 오름차순 정렬한다. 중복제거 후에는 list 사이즈를 조정한다.
- sort -> unique -> resize는 거의 세트로 사용한다.
- vector를 활용해도 큰 차이는 없다.