Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 10866 - 덱(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/10866
deque에 관한 명령어를 알아보는 문제였습니다.
간단한 문제니 코드를 보면 이해가 쉽습니다.
#define _CRT_SECURE_NO_WARNINGS
#include <cstring>
#include <vector>
#include <iostream>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstdio>
#include <string>
#include <deque>
using namespace std;
int N;
deque<int> dq;
int main() {
cin.tie(0);
cout.tie(0);
cin >> N;
for (int i = 0; i < N; i++) {
string x;
cin >> x;
if (x[0] == 'p' && x[5] == 'b') {
int xx;
cin >> xx;
dq.push_back(xx);
}
else if (x[0] == 'p' && x[5] == 'f') {
int xx;
cin >> xx;
dq.push_front(xx);
}
else if (x == "front") {
if (dq.empty() == 1) {
cout << "-1" << "\n";
}
else {
cout << dq.front() << "\n";
}
}
else if (x == "back") {
if (dq.empty() == 1) {
cout << "-1" << "\n";
}
else {
cout << dq.back() << "\n";
}
}
else if (x == "size") {
cout << dq.size() << "\n";
}
else if (x == "empty") {
cout << dq.empty() << "\n";
}
else if (x[0] == 'p' && x[4] == 'f') {
if (dq.empty() == 1) {
cout << "-1" << "\n";
}
else {
cout << dq.front() << "\n";
dq.pop_front();
}
}
else if (x[0] == 'p' && x[4] == 'b') {
if (dq.empty() == 1) {
cout << "-1" << "\n";
}
else {
cout << dq.back() << "\n";
dq.pop_back();
}
}
}
return 0;
}
질문 및 조언 댓글 남겨주세요!
'백준' 카테고리의 다른 글
백준 4949 - 균형잡힌 세상(C++) (0) | 2021.11.03 |
---|---|
백준 1436 - 영화감독 숌(C++) (0) | 2021.11.03 |
백준 10816 - 숫자 카드2(C++) (0) | 2021.11.03 |
백준 1806 - 부분합(C++) (0) | 2021.11.02 |
백준 1644 - 소수의 연속합(C++) (0) | 2021.11.02 |