#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의 중복원소를 제거할 수 있다