Dolphins의 HelloWorld
[백준]Baekjoon10866(Deque) 본문
이 문제를 풀기 위해서는 덱을 구현해야한다.
덱을 직접 구현하는것도 좋지만 이렇게 문제를 풀때는 빠르게 푸는것도 중요하므로
c++에서 제공하는 라이브러리를 사용하도록 하자.
https://en.cppreference.com/w/cpp/container/deque
위의 링크에서 c++라이브러리에서 제공하는 deque에 대한 정보를 확인할 수 있다.
다음의 코드는 이것을 통해서 구현한 코드이다.
#include <iostream> #include <string> #include <deque> using namespace std; int main() { deque<int> deq; string s; int num; int N; scanf("%d", &N); while (N--) { cin >> s; if (s == "push_front") { scanf("%d", &num); deq.push_front(num); } else if (s == "push_back") { scanf("%d", &num); deq.push_back(num); } else if (s == "pop_front") { if (deq.empty()) printf("-1\n"); else { printf("%d\n", deq.front()); deq.pop_front(); } } else if (s == "pop_back") { if (deq.empty()) printf("-1\n"); else { printf("%d\n", deq.back()); deq.pop_back(); } } else if (s == "size") printf("%d\n", deq.size()); else if (s == "front") deq.empty() ? printf("-1\n") : printf("%d\n", deq.front()); else if (s == "back") deq.empty() ? printf("-1\n") : printf("%d\n", deq.back()); else deq.empty() ? printf("1\n") : printf("0\n"); } }
'Algorithm > baekjoon문제풀이' 카테고리의 다른 글
[백준]Baekjoon4949(Stack) (0) | 2018.07.01 |
---|---|
[백준]Baekjoon1076(map) (0) | 2018.07.01 |
[백준]Baekjoon1966(Queue) (0) | 2018.06.28 |
[백준]Baekjoon10845(Queue) (0) | 2018.06.26 |
[백준]Baekjoon10828(스택) (0) | 2018.06.26 |
Comments