2164 - 카드 2

solution

code

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

int main()
{
    int N;
    cin >> N;
    deque<int> deque;
    for(int i = 1; i <= N; i++)
        deque.push_back(i);

    int tmp;
    while(deque.size() != 1)
    {
        deque.pop_front();
        tmp = deque.front();
        deque.pop_front();
        deque.push_back(tmp);
    }
    
    cout << deque.back() << endl;

    return 0;
}

ref

2164번: 카드2