#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;

vector<string> s;

int main()
{
    s.push_back("a");
    s.push_back("b");
    s.push_back("a");
    s.push_back("c");
    s.push_back("b");
    s.push_back("a");
    s.push_back("b");

    printf("막넣은 벡터s\n");
    for(int i=0;i<s.size();i  )
        cout<<s[i]<<"\t";
    printf("\n\n");

    printf("정렬 sort(s.begin(), s.end());\n");
    sort(s.begin(), s.end());
    for(int i=0;i<s.size();i  )
        cout<<s[i]<<"\t";
    printf("\n\n");

    printf("벡터.erase(unique(s.begin(),s.end()),s.end())\n");
    s.erase(unique(s.begin(),s.end()),s.end());
    for(int i=0;i<s.size();i  )
        cout<<s[i]<<"\t";
    printf("\n\n");
}

참고 자료

우선 sort 를 해야한다. sort를 하지 않으면 동작이 제대로 이루어지지 않는다.

unique(v.begin(), v.end()) 를 하면, 중복된 원소들이 뒤로 오고, 중복된 원소의 시작을 반환한다.

따라서, erase(unique(v.begin(), v.end()), v.end()); 를 하면 v의 중복원소를 제거할 수 있다

results matching ""

    No results matching ""