[boj] (s4) 2164 카드2

강신현·2022년 4월 2일
0

✅ queue

문제

카드2

풀이

맨 위의 카드를 버리고, 그다음 카드를 꺼내 맨 아래로 넣는 방법이므로 queue를 사용했다.

코드

#include <iostream>
#include <algorithm>
#include <string>
#include <queue>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int N;
    cin >> N;

    queue<int> que;
    for(int i=1;i<=N;i++){
        que.push(i);
    }

    while(que.size()>1){
        // 한장버림
        que.pop();
        // 한장꺼내서 맨 아래로 옮김
        int num = que.front();
        que.pop();
        que.push(num);
    }

    cout << que.front() << "\n";

    return 0;
}
profile
땅콩의 모험 (server)

0개의 댓글