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


[알고리즘풀이]

제일 위에 있는 카드는 버릴 수 있고(pop), 카드는 오로지 제일 아래로만 추가하므로(push) 전형적인 FIFO 이다.

즉, 자료구조 queue(큐)를 이용하면 쉽게 해결할 수 있는 문제다.

queue(큐) 설명 : https://travelbeeee.tistory.com/7?category=807507

#include<iostream>
#include<queue>
#include<string>

using namespace std;

int main(void) {
	int n;
	queue<int> q;
	cin >> n;
	for (int i = 1; i <= n; i++)
		q.push(i);
	while (q.size() != 1) {
		q.pop();
		int y = q.front();
		q.pop();
		q.push(y);
	}
	cout << q.front();
}

 

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ] 1966 - Printer Queue  (0) 2019.09.17
[BOJ] 11866 - 조세퍼스 문제 0  (0) 2019.09.17
[BOJ] 10845 - 큐  (0) 2019.09.17
[BOJ] 17436 - 소수의 배수  (0) 2019.09.08
[BOJ] 9663 - N Queen  (0) 2019.09.08

+ Recent posts