§ my solution 

추출,삽입이 빠른 덱으로 size가 1이 되기 전까지 진행

 

제일 처음 삭제

dq.erase(dq.begin());

 

처음값 back으로 push

dq.push_back(dq[0]);

 

제일 front pop

dq.pop_front();

 

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

deque<int> dq;

int main(){
    int n;  cin >> n;
    for (int i = 0; i < n; i++) {
        dq.push_back(i+1);
    }
    while (dq.size() > 1){
        dq.erase(dq.begin());
        dq.push_back(dq[0]);
        dq.pop_front();
    }
    cout << dq[0];
}

+ Recent posts