자라는 개발자/문제풀이

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

자란다 2021. 12. 10. 18:52
728x90
반응형

11866번 요세푸스 문제 0


문제풀이

#include <iostream>
#include <queue>
using namespace std;
int main(void)
{
    queue<int> q;
    int n, k;

    cin >> n >> k;
    for (int i = 0; i < n; i++)
    {
        q.push(i + 1);
    }

    cout << "<";
    while (n-- != 0)
    {
        for (int i = 0; i < k; i++)
        {
            if (i == k - 1)
            {
                cout << q.front();
                if (q.size() != 1)
                {
                    cout << ", ";
                }
            }
            else
            {
                q.push(q.front());
            }
            q.pop();
        }
    }
    cout << ">";
}

무슨문제인지 이해못했다가 그려보니까 이해됐다.
큐를 활용했고, for 안의 if 에서 예제값인 3 으로 고정해둔상태로 제출했다가 틀렸다.. 부주의함으로 인해 틀릴때마다 아쉽다..

728x90
반응형

'자라는 개발자 > 문제풀이' 카테고리의 다른 글

백준 C++ 1920번 수 찾기  (1) 2021.12.13
백준 C++ 10773번 제로  (1) 2021.12.11
백준 C++ 1213번 팰린드롬만들기  (2) 2021.12.08
백준 c++ 10845번 큐  (1) 2021.12.07
백준 C++ 2164번 카드2  (0) 2021.12.06