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

Lern-Backup·2021년 9월 17일
0

Baekjoon

목록 보기
5/20

📝 문제


💻 실행 코드

// BOJ 10867번 : 중복 빼고 정렬하기
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<int> v(n);
    for(int i = 0; i < n; i++)
        cin >> v[i];

    sort(v.begin(), v.end()); // 오름차순으로 정렬
    v.erase(unique(v.begin(), v.end()), v.end()); // 중복된 원소들 제거

    for(auto result : v){
        cout << result << " ";
    }
}

📚 문제 풀이

unique() 함수란?

중복된 원소를 뒤의 쓰레기값으로 보내줌

erase() 함수란?

v.erase(unique(v.begin(), v.end()), v.end());
  • 원소를 지워줌
  • unique() 함수에서 반환되는 값은 vector의 쓰레기값의 첫번째가 되므로 바로 제거 가능

범위 기반 for문

for(auto result : v){
        cout << result << " ";
    }
  • 각 배열의 요소를 반복하며 선언된 변수에 현재 배열 요소의 값을 할당
  • 배열 요소와 같은 자료형을 가져야 하기 때문에 auto 키워드를 사용

✅ 실행 결과

profile
공부 백업용

0개의 댓글