vector 객체 중에 똑같은 값이 있는 것을 제거할 방법을 고민하다가 중복 체크가 될까 하면서 set 컨테이너에 vector 객체를 넣어봤습니다.

예상되로 잘 되네요.

 

2021. 9. 22 - 최초 작성

 

#include <iostream>
#include <set>
#include <vector>

using namespace std;

int main()
{
    vector<int> a1 = {1, 2, 3, 4, 5};
    vector<int> a2 = {1, 2, 3, 4, 5};
    vector<int> c1 = {1, 2, 0, 4, 5};


    set<vector<int>> s;


    printf("s.insert(a1) : {1, 2, 3, 4, 5}\n");
    auto ret = s.insert(a1);

    if (ret.second)
        printf("삽입\n");
    else
        printf("중복\n");

    
    printf("s.insert(a2) : {1, 2, 3, 4, 5}\n");
    ret = s.insert(a2);

    if (ret.second)
        printf("삽입\n");
    else
        printf("중복\n");


    printf("s.insert(c1) : {1, 2, 0, 4, 5}\n");
    ret = s.insert(c1);

    if (ret.second)
        printf("삽입\n");
    else
        printf("중복\n");
}

 

 

실행 결과

- a2를 s에 삽입하는 경우 이미 똑같은 원소를 가진 a1이 s에 포함되어 있기 때문에 중복이라고 출력합니다. 

s.insert(a1) : {1, 2, 3, 4, 5}
삽입
s.insert(a2) : {1, 2, 3, 4, 5}
중복
s.insert(c1) : {1, 2, 0, 4, 5}
삽입

 


블로그를 이전합니다. 여기에서 사라진 글은 https://webnautes.blog 로 옮겨진 글입니다. 블로그 이전 관계로 webnautes.tistory.com에 대한 구글 검색을 중지했습니다.


소스코드 복사시 하단에 있는 앵커 광고의 왼쪽 위를 클릭하여 닫은 후 해야 합니다.


문제가 생기면 포스트와 다르게 진행한 부분을 먼저 확인해보세요.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기