스택과 같은 구조를 사용하면 쉽게 풀수있다. 본인은 deque를 이용해 연속해서 들어오면 deque에 넣지않고 나중에 빼낼때는 들어온 순서대로 빼내었다.
#include <vector>
#include <iostream>
#include <deque>
using namespace std;
vector<int> solution(vector<int> arr)
{
vector<int> answer;
deque<int> dq;
for(auto c : arr)
{
if(!dq.empty() && dq.front()==c) continue;//연속되는 숫자가 들어오면
dq.push_front(c);//밀면서 넣어준다.
}
while(!dq.empty())
{
answer.push_back(dq.back());//먼저들어온숫자 먼저
dq.pop_back();
}
return answer;
}