728x90
https://www.acmicpc.net/problem/10866
문제 풀이
덱의 기본 구현을 묻는 문제였다!
느낀 점
이번 기회에 덱을 공부할 수 있었다. 조만간 STL 컨테이너인 스택과 큐, 덱에 대해서 한번 정리글을 올려야겠다.
코드
#include <iostream>
#include <deque>
#include <string>
using namespace std;
int n, tmp;
string command;
deque<int> dq;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
while (n--) {
cin >> command;
if (command == "push_front") {
cin >> tmp;
dq.push_front(tmp);
}
else if (command == "push_back") {
cin >> tmp;
dq.push_back(tmp);
}
else if (command == "pop_front") {
if (dq.empty()) cout << "-1\n";
else {
cout << dq.front() << "\n";
dq.pop_front();
}
}
else if (command == "pop_back") {
if (dq.empty()) cout << "-1\n";
else {
cout << dq.back() << "\n";
dq.pop_back();
}
}
else if (command == "size") {
cout << dq.size() << "\n";
}
else if (command == "empty") {
cout << dq.empty() << "\n";
}
else if (command == "front") {
if (dq.empty()) cout << "-1\n";
else cout << dq.front() << "\n";
}
else if (command == "back") {
if (dq.empty()) cout << "-1\n";
else cout << dq.back() << "\n";
}
}
}
'문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[C++] 백준 5430번 : AC (0) | 2021.07.26 |
---|---|
[C++] 백준 1021번 : 회전하는 큐 (0) | 2021.07.25 |
[C++] 백준 1966번 : 프린터 큐 (0) | 2021.07.24 |
[C++] 백준 11866번 : 요세푸스 문제 0 (0) | 2021.07.24 |
[C++] 백준 2164번 : 카드2 (0) | 2021.07.24 |
댓글