본문 바로가기

BOJ/C++

BOJ [C++]) 10867번 중복 빼고 정렬하기

728x90

https://www.acmicpc.net/problem/10867

 

10867번: 중복 빼고 정렬하기

첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

 

1. 문제

N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다.

 

2. PS

- unique 함수를 사용하기 위해 먼저 sort 함수를 사용.

- unique,erase 함수를 이용하여 중복되는 부분을 제거함.

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n;
    vector<int> vt;
    cin >> n;
    for(int i = 0; i < n; i++) {
        int num;
        cin >> num;
        vt.push_back(num);
    }
    
    sort(vt.begin(),vt.end());
    auto last = unique(vt.begin(), vt.end());
    vt.erase(last , vt.end());
    
    for(int x : vt) cout << x << " ";
}

 

'BOJ > C++' 카테고리의 다른 글

BOJ [C++]) 10816번 숫자 카드 2  (0) 2021.12.21
BOJ [C++]) 10815번 숫자 카드  (0) 2021.12.21
BOJ [C++]) 1620번 나는야 포켓몬 마스터 이다솜  (0) 2021.12.21
BOJ [C++]) 1021번 회전하는 큐  (0) 2021.12.20
BOJ [C++]) 2164번 카드2  (0) 2021.12.20