Victoree's Blog

1158_요세푸스 문제 본문

Algorithm/2021

1158_요세푸스 문제

victoree 2021. 6. 8. 21:47
728x90

Concept & Idea

큐 자료구조를 이용해서 문제를 해결하는 아주 간단한 문제라 할 수 있습니다. 

count로 요래조래해서 풀 수 있지 않을까 싶었는데, 안되는거 같길래 그냥 큐에 초기화시켜서 돌리는 방식으로.. 해결했네요 :(

 

Code

#include <iostream>
#include <queue>
using namespace std;
int main(int argc, const char * argv[]) {
    int n,k;
    queue<int> qu;
    cin>>n>>k;
    for(int i=1; i<=n; i++) {
        qu.push(i);
    }
    cout<<"<";
    while(!qu.empty()){
        int front = 0;
        for(int i=0; i<k-1; i++) {
            front = qu.front();
            qu.pop();
            qu.push(front);
        }
        front=qu.front();
        qu.pop();
        if(qu.size())
            cout<<front<<", ";
        else
            cout<<front<<">"<<endl;
    }
    return 0;
}

 

Fealing

알고리즘은 백만년만인 것 같다..

확실히 문제를 안푼지 1년이 넘어가니 간단한 문제도 해결법이 잘 떠오르지 않구..
점점 개발 지식도 이론적인 것만 공부하다보니 머리가 굳어가는 것 같았는데.. 얼른 쉬운문제들 많이 풀면서 감을 되찾아봐야지..!

 

728x90

'Algorithm > 2021' 카테고리의 다른 글

2800_괄호 제거  (0) 2021.06.17
11286_절댓값 힙  (0) 2021.06.16
2075_N번째 큰 수  (0) 2021.06.15
1068_트리  (0) 2021.06.15
9934_완전 이진 트리  (0) 2021.06.15
Comments