코딩고치

[백준][자료구조]조세퍼스 문제 본문

백준 알고리즘 기초/자료구조

[백준][자료구조]조세퍼스 문제

코딩고치 2019. 9. 5. 03:24

큐를 이용하여 조세퍼스 순열을 구하는 프로그램을 만드는 문제이다. 굳이 큐를 쓰지 않아도 되는 문제라고 하지만 할 줄 아는게 없어서 큐를 이용하였다.

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

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n;	//사람 수
	int k;	// k번째 사람 제거
	queue<int> q;
	cin >> n >> k;

	for (int i = 0; i < n; i++)
		q.push(i+1);
	cout << '<';

	while (n - 1 > 0)
	{
		for (int i = 0; i < k - 1; i++)
		{
			q.push(q.front());
			q.pop();
		}
		cout << q.front() << ", ";
		q.pop();
		n--;
	}
	cout << q.front() << '>' << '\n';
	return 0;
}

while문은 for문으로 바꾸면 더 깔끔하게 작성이 된다.

'백준 알고리즘 기초 > 자료구조' 카테고리의 다른 글

[백준][자료구조]단어 뒤집기  (0) 2019.09.06
[백준][자료구조]덱  (0) 2019.09.05
[백준][자료구조]큐  (0) 2019.09.05
[백준][자료구조]에디터  (0) 2019.09.05
[백준][자료구조]스택 수열  (0) 2019.09.04
Comments