Programming/Baekjoon

백준 1158 c++ 주석포함

fishersheep 2022. 1. 31. 14:36
반응형

백준: 요세푸스 문제

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <queue>

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	queue<int> q;	//queue 선언
	int n, k;
	int num = 0;

	cin >> n >> k;	//n 과 k 입력

	for (int i = 1; i <= n; i++)	//queue에 1부터 n까지 값을 추가
		q.push(i);

	cout<<"<";

	while (1)
	{	
		for (int i = 1; i < k; i++)	//k번째를 찾기위한 반복문
		{
			num = q.front();	//가장 앞에 있는 값을 num에 저장하고
			q.pop();	//값을 삭제
			q.push(num);	//삭제한 값을 다시 push, 맨앞에서 맨뒤로 이동된다.
		}
		cout << q.front();	//위의 반복문이 수행되면 front는 k번째 값, 해당 값 출력
		q.pop();	//값을 삭제

		if (q.empty())	//queue가 비어있다면 종료
			break;

		cout << "," << " ";
	}

	cout << ">";

	return 0;
}

 

반응형

'Programming > Baekjoon' 카테고리의 다른 글

백준 1303 c++ 주석포함  (0) 2022.02.02
백준 1934 c++ 주석포함  (0) 2022.02.01
백준 1406 c++ 주석포함  (0) 2022.01.30
백준 10824 c++ 주석포함  (0) 2022.01.30
백준 11655 c++ 주석포함  (0) 2022.01.30