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;
}
'개발일지 > 알고리즘' 카테고리의 다른 글
백준 1874번 : 스택 수열 (0) | 2025.01.25 |
---|---|
백준 9012번 : 괄호 (0) | 2025.01.24 |
백준 11651번 : 좌표 정렬하기 2 (0) | 2025.01.23 |
백준 1181번 : 단어 정렬 (0) | 2025.01.22 |
백준 10989번 : 덱 (0) | 2025.01.20 |