1주차(자료구조) - [C++]백준1158 요세푸스

1주차(자료구조) - [C++]백준1158 요세푸스

백준1158 요세푸스 링크

문제

오류

예제 입력

오류


코드

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

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int N, K;
	cin >> N >> K;

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

	int num = 1;
	cout << "<";
	while (true)
	{
		if (num % K == 0) {
			if (Queue.size() == 1)
				cout << Queue.front();
			else
				cout << Queue.front() << ", ";
		}
		else {
			Queue.push(Queue.front());
		}
		num++;
		Queue.pop();

		if (Queue.empty()) {
			break;
		}
	}
	cout << ">" << "\n";
}

설명

C++ STL(표준 템플릿 라이브러리)에서 큐를 사용하여 입력 받은 순서마다 출력하고 아직 순서가 아니면 큐 맨끝으로 다시 삽입합니다. 그리고 제외하여 원형큐처럼 구현했습니다.

<queue>
-queue<자료형> 변수명; : 큐 자료구조 사용

결과

오류


© 2022. All rights reserved. 신동민의 블로그