<링크>
https://www.acmicpc.net/problem/10845
<소스코드>
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 | #include<stdio.h> #include<queue> #include<string.h> using namespace std; int main() { int N; scanf("%d", &N); char buf[100]; deque<int> q; while (N--) { scanf("%s", buf); if (strcmp(buf, "push") == 0) { int n; scanf("%d", &n); q.push_back(n); } if (strcmp(buf, "pop") == 0) { if (q.size() == 0) printf("-1\n"); else { printf("%d\n", q.front()); q.pop_front(); } } if (strcmp(buf, "front") == 0) { if (q.size() == 0) printf("-1\n"); else printf("%d\n", q.front()); } if (strcmp(buf, "back") == 0) { if (q.size() == 0) printf("-1\n"); else printf("%d\n", q.back()); } if (strcmp(buf, "size") == 0) printf("%d\n", q.size()); if (strcmp(buf, "empty") == 0) { if (q.size() == 0) printf("1\n"); else printf("0\n"); } } } | cs |
<풀이>
좀더 편한 라이브러리인 deque를 이용했다.
'알고리즘 풀이 > 스택,큐' 카테고리의 다른 글
백준 10828 스택 (0) | 2018.08.29 |
---|