백준 algorithm

백준 2164 -카드2

cosmohoo 2019. 12. 13. 16:29
반응형

문제 설명

C++에 있는 deque STL을 사용하여 풀었다. 
deque의 개념을 알고있고, STL 사용법만 안다면 쉽게 풀수 있따. 
1을 입력받았을때의 예외처리를 깔끔하게 하지 못했다. 다음에 다시 한번 짜봐야겠다. 

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


int main()
{
	deque <int> arr; //declare deque arr
	int N;
	cin >> N; 
	int last;
	if (N == 1) { cout << 1; return 0; }
	else
	{
		for (int i = 1; i <= N; i++)
		{
			arr.push_back(i);
		}
		while (arr.size() > 1)
		{
			arr.pop_front();
			int tmp = arr.front();
			arr.pop_front();
			arr.push_back(tmp);
			last = arr.at(0);
		}
		cout << last << '\n';
		return 0;
	}
}
반응형