[백준 10845번-C++] 큐
알고리즘 공부/BOJ백준 풀이

[백준 10845번-C++] 큐

http://acmicpc.net/problem/10845

{코드}

#include <iostream>
#include <queue>
#include <string>

using namespace std;
int main() {
    queue<int> q;
    string ip;
    int tmp, n;
    scanf("%d", &n);
    while (n--)
    {
        cin >> ip;
        if (ip == "pop") {
            if (!q.empty()) {
                printf("%d\n", q.front());
                q.pop();
            }
            else {
                printf("-1\n");
            }
        }
        else if (ip == "size") {
            printf("%d\n", q.size());
        }
        else if (ip == "empty") {
            if (!q.empty()) {
                printf("0\n");
            }
            else {
                printf("1\n");
            }
        }
        else if (ip == "front") {
            if (!q.empty()) {
                printf("%d\n", q.front());
            }
            else {
                printf("-1\n");
            }
        }
        else if (ip == "back") {
            if (!q.empty()) {
                printf("%d\n", q.back());
            }
            else {
                printf("-1\n");
            }
        }
        else {
            scanf("%d", &tmp);
            q.push(tmp);
        }
    }
}

{설명}

이 문제는 큐를 구현하는 문제지만 C++의 큐 헤더를 통해 간단히 구현할 수 있습니다.

*큐와 큐의 메소드에 대한 설명은 이 글을 참고해주시기 바랍니다.