[풀이 1]
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr)
{
vector<int> answer;
int temp = arr[0];
answer.push_back(arr[0]);
for(int i=1; i<arr.size(); i++) {
if(temp != arr[i]) {
answer.push_back(arr[i]);
temp = arr[i];
}
}
return answer;
}
[풀이 2]
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr)
{
arr.erase(unique(arr.begin(), arr.end()), arr.end());
vector<int> answer = arr;
return answer;
}
[Unique함수 활용]
1. Vector.erase(unique(vector.begin(),vector.end()), vector.end()) : 벡터의 부분삭제와 중첩 불허용
: unique가 끝났으면 반환되는값은 vector의 쓰레기값의 첫번째 위치가 되는데요, 이때문에 바로 unique후 erase가 가능합니다 [https://dpdpwl.tistory.com/39]참고
2. unique(vector.begin(), vector.end()) :