vector의 중복값 제거하기

2022-05-11-vector의-중복값-제거하기

목차

00.사용하게 된 이유

01.unique 함수 사용하기

02.unique 사용하기

02.1 정렬 후 unique 사용하기

00.사용하게 된 이유

  • 중복을 제거하는 것을 사실상 하나씩 비교하거나
  • 이차원 배열을 사용해서 체크를 하는 식으로 해도되지만

    • 좀더 쉬운 방법이 없을까함
    • 그리고 중복인 것만 제거하면 더 빠르게 구현할 수 있다고 생각해서 벡터의 중복을 제거하는것을 찾아서 사용함

01.unique 함수 사용하기

  • vector배열의 중복되지 않는 원소들을 앞에서 채워가는 함수

    • 단, 백터가 정렬이 되어 있어야한다는 것
  • 1, 1, 2, 2, 3 ,4 ,5, 6 으로 벡터에 숫자가 있다면

    • 중복된 숫자는 뒤로 가게되어 아래와 같이 됨
    • 1, 2, 3, 4, 5, 1, 2

02.unique 사용하기

vector<int> v = {1, 1, 2, 2, 3 ,4 ,5, 6};
v.erase(unique(v.begin(), v.end()),v.end());
  • 여기서 중요한것이 정렬이 되어 있어야함

02.1 정렬 후 unique 사용하기

vector<int> v = {1, 2, 1, 2, 3 ,4 ,5, 6};
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()),v.end());

Written by@[KyeongMinPark]
Docker, C++, C#, Java, Golang으로 개발 모니터링운영 및 개발, 자원수집기 Beat & Exporter 개발 Gitlab Runner CI/CD & Hugo 연동과 테스트코드및 등을 공부와 개발중 ORM, TDD, BDD, DDD, DesignPattern, WebAssembly Studying

GitHub