문제 풀이 및 개발 공간

[백준] 28279번 덱 2 (silver 4 본문

백준공부/cpp

[백준] 28279번 덱 2 (silver 4

gomduri43 2023. 12. 24. 23:10

#include <iostream>
#include <deque>

using namespace std;

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

	deque<int> que;

	int n; 
	int temp;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int a;
		cin >> a;

		if (a == 1) {
			cin >> temp;
			que.push_front(temp);
		}
		else if (a == 2) {
			cin >> temp;
			que.push_back(temp);
		}
		else if (a == 3) {
			if (que.empty()) {
				cout << -1 <<"\n";
			}
			else {
				cout << que.front() << "\n";
				que.pop_front();
			}
		}
		else if (a == 4) {
			if (que.empty()) {
				cout << -1 << "\n";
			}
			else {
				cout << que.back() << "\n";
				que.pop_back();
			}
		}
		else if (a == 5) {
			cout << que.size() << "\n";
		}
		else if (a == 6) {
			if (que.empty()) {
				cout << 1 << "\n";
			}
			else {
				cout << 0 << "\n";
			}
		}
		else if (a == 7) {
			if (que.empty()) {
				cout << -1 << "\n";
			}
			else {
				cout << que.front() << "\n";
			}
		}
		else if (a == 8) {
			if (que.empty()) {
				cout << -1 << "\n";
			}
			else {
				cout << que.back() << "\n";
			}
		}



	}
	
	return 0;
}