카드2 2164

PublicMinsu·2022년 12월 5일
0

문제

접근 방법

위에서 가져오고 밑에서 삽입한다는 건 선입선출을 의미하므로 큐를 사용하면 된다.

코드

#include <iostream>
#include <queue>
using namespace std;
int main()
{
    int N;
    queue<int> q;
    cin >> N;
    for (int i = 1; i <= N; ++i)
    {
        q.push(i);
    }
    while (q.size() != 1)
    {
        q.pop();
        int back = q.front();
        q.pop();
        q.push(back);
    }
    cout << q.front();
}

풀이

카드를 버린다는 건 pop을 의미하고 위에 카드를 밑으로 옮기는 건 다시 push 하는 것을 의미한다.
카드의 개수가 1개가 될 때까지 반복문을 돌려준다.

profile
연락 : publicminsu@naver.com

0개의 댓글