[백준/C++] 11866번 요세푸스 문제0

최대 1 분 소요

1.문제 링크

11866



2. 풀이 전 계획과 생각

  • 큐 이용하기



3. 풀이

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

int main(){
    int n,k; cin>>n>>k;
    queue<int> q;
    for(int i=1;i<=n;i++){
        q.push(i);
    }
    
    int cnt=0;
    cout<<"<";
    while(true){
        cnt++;
        if(q.size()==1){
            cout<<q.front();
            break;
        }
        for(int i=0;i<k-1;i++){
            q.push(q.front());
            q.pop();
        }
        cout<<q.front()<<", ";
        q.pop();
        
        if(q.empty()) break;
    }
    cout<<">";
}



4. 풀이하면서 고민했던 점



5. 문제를 풀고 알게된 개념 및 소감