개발일지/알고리즘
백준 10867번 : 중복 빼고 정렬하기
김진우 개발일지
2025. 1. 23. 20:56
set 을 이용한 것과 정렬 후 unique를 이용해 중복 제거를 한 버전이 있다. set은 데이터를 삽입할 때 자동으로 오름차순으로 정렬되기 때문에 별도로 정렬할 필요가 없다. 또, 아래 코드를 추가해 c++ 스타일의 입출력 속도를 올리면 16ms에서 12ms로 시간이 줄어든다.
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vector<int> nums;
for (int i = 0; i < N; i++)
{
int num;
cin >> num;
nums.push_back(num);
}
sort(nums.begin(), nums.end());
nums.erase(unique(nums.begin(), nums.end()), nums.end());
for (int num : nums)
{
cout << num << "\n";
}
return 0;
}
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;
int main()
{
int N;
scanf("%d", &N);
set<int> nums;
for (int i = 0; i < N; i++)
{
int num;
scanf("%d", &num);
nums.insert(num);
}
for (int num : nums)
{
printf("%d\n", num);
}
return 0;
}