Algorithm

[백준] 1158번. 요세푸스 문제

스테디음 2024. 10. 3. 23:41
#include <iostream>
#include <queue>
#include <vector>

using namespace std;
int main() {
    int N, K;
    cin >> N >> K;
    vector<int> answer;
    
    queue<int> num;
    for(int i=1; i<=N; i++) {
        num.push(i);
    }
    
    int i=1;
    int temp;
    while(num.size()>0) {
        if(i==K) {
            answer.push_back(num.front());
            num.pop();
            i=1;
        } else {
            temp = num.front();
            num.pop();
            num.push(temp);
            i++;
        }
    }
    
    cout << "<";
    for(int i=0; i<N-1; i++) {
        cout << answer[i] << ", ";
    }
    cout << answer.back() << ">";
}

'Algorithm' 카테고리의 다른 글

[백준] 9012번. 괄호  (0) 2024.10.05
[백준] 9093번. 단어 뒤집기  (0) 2024.10.05
[백준] 1546번. 평균  (0) 2024.10.03