Backjoon Online Judge
"10866번 : 덱" 문제입니다.
문제 링크 : https://www.acmicpc.net/problem/10866
Deque의 각 명령을 구현하기 위해 Deque 라이브러리를 사용하였습니다.
- string형 변수에 문자를 받아 일치 여부를 확인합니다.
코드는 C++로 작성하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <iostream> #include <cstdio> #include <queue> #include <string> using namespace std; int main() { deque<int> dq; int N, num; string str; scanf("%d",&N); while (N--) { cin >> str; if (str == "push_front") { scanf_s("%d", &num); dq.push_front(num); } else if (str == "push_back") { scanf_s("%d", &num); dq.push_back(num); } else if (str == "pop_front") { if (dq.empty()) { printf("-1\n"); continue; } printf("%d\n", dq.front()); dq.pop_front(); } else if (str == "pop_back") { if (dq.empty()) { printf("-1\n"); continue; } printf("%d\n", dq.back()); dq.pop_back(); } else if (str == "size") { printf("%d\n", dq.size()); } else if (str == "empty") { printf("%d\n", dq.empty()); } else if (str == "front") { if (dq.empty()) { printf("-1\n"); continue; } printf("%d\n", dq.front()); } else if (str == "back") { if (dq.empty()) { printf("-1\n"); continue; } printf("%d\n", dq.back()); } } return 0; } |
'Programming 문제풀이 > Backjoon Online Judge' 카테고리의 다른 글
5430번 : AC (0) | 2018.03.28 |
---|---|
1021번 : 회전하는 큐 (0) | 2018.03.27 |
1158번 : 조세퍼스 문제 (0) | 2018.03.23 |
11866번 : 조세퍼스 문제 0 (0) | 2018.03.23 |
1966번 : 프린터 큐 (0) | 2018.03.23 |