[백준] 2164 카드2 C++

윤경·2021년 7월 28일
2

Baekjoon

목록 보기
59/64

문제

코드

#include <iostream>
#include <deque>
using namespace std;

int main() {
    ios::sync_with_stdio(0);

    int N;
    cin >> N;

    deque<int> dq;
    for(int i=N; i>0; i--) {
        dq.push_front(i);
    }

    int j=1;
    while(1) {
        if(dq.size()==1) { break; }
        if(j % 2 == 1) {
            dq.pop_front();
            j++;
        } else if(j % 2 != 1) {
            int tmp = dq.front();
            dq.pop_front();
            dq.push_back(tmp);
            j++;
        }
    }

    cout << dq.front() << '\n';

    return 0;
}

✔️

단순한 deque문제
i로 언제 카드를 빼고 언제 카드를 아래로 옮겨야 하는지 체크
tmp에 front의 원소를 저장시켜 가장 아래로 빼줌

deque에 대해서 한 번 정리해야겠다.

profile
개발 바보 이사 중

0개의 댓글