https://www.acmicpc.net/problem/10866
10866번: 덱
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
* 덱?
양방향으로 넣고 뺄수있는 큐를 말한다.
#include<bits/stdc++.h>
using namespace std;
int n;
deque<int> d;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i) {
string op = "";
cin >> op;
if (op == "push_front") {
int temp = 0;
cin >> temp;
d.push_front(temp);
}
else if (op == "push_back") {
int temp = 0;
cin >> temp;
d.push_back(temp);
}
else if (op == "pop_front") {
if (d.empty()) {
cout << "-1\n";
continue;
}
int temp = d.front();
cout << temp << "\n";
d.pop_front();
}
else if (op == "pop_back") {
if (d.empty()) {
cout << "-1\n";
continue;
}
int temp = d.back();
cout << temp << "\n";
d.pop_back();
}
else if (op == "size") {
cout << d.size() << "\n";
}
else if (op == "empty") {
cout << d.empty() << "\n";
}
else if (op == "front") {
if (d.empty()) cout << "-1\n";
else cout << d.front() <<"\n";
}
else if (op == "back") {
if (d.empty()) cout << "-1\n";
else cout << d.back() << "\n";
}
}
}
'Algorithm > 덱' 카테고리의 다른 글
[알고리즘] 백준 3190 뱀 // 덱 bfs, 구현, 뱀-꼬리 문제는 덱 (0) | 2025.02.10 |
---|---|
[알고리즘] 백준 5430 AC // 덱, 구현 (0) | 2025.01.18 |
백준 5430 AC c++ // 파싱, 덱 사용법 (0) | 2023.11.28 |
백준 5430 cpp // string find,+=시간복잡도, split 구현방법, 예외처리방법 (0) | 2023.08.22 |
백준 1021 cpp // 데큐, 규칙찾기, find함수 사용법 (0) | 2023.08.21 |