Deff_Dev

[백준] 2164번 카드 2 (C++) 본문

코딩테스트/백준

[백준] 2164번 카드 2 (C++)

Deff_a 2024. 12. 25. 09:44

문제

https://www.acmicpc.net/problem/2164

풀이

이 문제는 1부터 입력된 N까지 번호들을 큐에 삽입하고,

  1. 카드 버리기
  2. 맨 앞 카드 뒤로 보내기

위 규칙이 반복되는 문제로, 마지막 남은 번호를 출력하는 문제이다. 

#include <iostream>
#include <queue>

using namespace std;

queue<int> q;

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

	int n;
	cin >> n;

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

	while(true)
	{
		if(q.size() == 1)
		{
			cout << q.front();
			break;
		}
		q.pop();
		int front = q.front();
		q.pop();
		q.push(front);
	}
	
	return 0;
}

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 18258번 큐 2 (C++)  (0) 2024.12.19
[백준] 2493번 탑 (C++)  (0) 2024.12.18
[백준] 1874번 스택 수열 (C++)  (0) 2024.12.17
[백준] 10773번 제로 (C++)  (0) 2024.12.17
[백준] 에디터 (C++)  (0) 2024.12.16