본문 바로가기
이론/코딩테스트

[백준] 1158번 요세푸스 문제 (queue)

by 퇴근후개발 2022. 8. 1.
반응형

-문제

 

-코드

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

int main()
{
	int n, k, tmp, cnt=0;
	cin >> n;
	cin >> k;
	cout << "<";

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

	while (!q.empty())
	{
		tmp = q.front();
		q.pop();
		cnt++;
		if (cnt != k)
		{
			q.push(tmp);
		}
		else
		{
			if (q.size() == 0) cout << tmp << ">";
			else cout << tmp << ", ";
			cnt = 0;
		}
	}
	return 0;
}
반응형