[BOJ/C++] 2164 카드2

GamzaTori·2024년 6월 21일

Algorithm

목록 보기
14/133

큐를 이용하여 문제를 해결할 수 있습니다.

  1. pop을 수행하여 맨 앞의 카드를 버린다.
  2. pop -> push를 수행해 맨 앞에 있는 카드를 가장 아래로 옮긴다
  3. 큐의 크기가 1이 될 때까지 반복한 후 남은 원소를 출력한다.
// boj s4 2164
// 카드2

#include <iostream>
#include <queue>

using namespace std;


int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	int N;
	int result;
	queue<int> q;
	cin >> N;

	for (int i = 1; i <= N; i++)
		q.push(i);

	while (q.size()>1)
	{
		q.pop();
		q.push(q.front());
		q.pop();
	}
	
	cout << q.front();

	return 0;
}
profile
게임 개발 공부중입니다.

0개의 댓글