[BOJ10866] 덱 C++

문지영·2023년 5월 7일
0

CODINGTEST C++

목록 보기
3/18

문제

코드

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

deque<int> dq;
int front, back, k;

int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin >> n;
	while (n--) {
		string oper;
		cin >> oper;
		if (oper == "size") {
			cout << dq.size() << '\n';
		}
		else if (oper == "empty") {
			cout <<dq.empty() << '\n';
		}
		else if (oper == "front") {
			front = -1;
			if (!dq.empty()) front = dq.front();
			cout << front << '\n';
		}
		else if (oper == "back") {
			back = -1;
			if (!dq.empty()) back = dq.back();
			cout << back << '\n';
		}
		else if (oper == "push_front") {
			cin >> k;
			dq.push_front(k);
		}
		else if (oper == "push_back") {
			cin >> k;
			dq.push_back(k);
		}
		else if (oper == "pop_front") {
			front = -1;
			if (!dq.empty()) {
				front = dq.front();
				dq.pop_front();
			}
			cout << front << '\n';
		}
		else { //pop_back
			back = -1;
			if (!dq.empty()) {
				back = dq.back();
				dq.pop_back();
			}
			cout << back << '\n';
		}
	}
}

제출

STL deque 참고

profile
BeHappy

0개의 댓글