[C++] 프로그래머스 Level 1 : 같은 숫자는 싫어

Kim Nahyeong·2022년 8월 14일
0

프로그래머스

목록 보기
18/38

#include <vector>
#include <iostream>
#include <deque>

using namespace std;

vector<int> solution(vector<int> arr) 
{
    vector<int> answer;
    deque<int> dq;
    
    dq.push_back(arr[0]);

    for(int i = 1; i < arr.size(); i++){
        if(!dq.empty() && dq.back() != arr[i]){
            dq.push_back(arr[i]);
        }
    }
    
    for(int i = 0; i < dq.size(); i++){
        answer.push_back(dq[i]);
    }

    return answer;
}

덱(사실 스택을 쓰는 것이 더 좋아보인다)을 사용해서 문제를 풀었다. 덱에는 연속되지 않은 숫자만 push 해주면 된다. 같지 않은 숫자면 넣어주고 아니면 아니고!

0개의 댓글