백준 C++ 10845 큐

jaranda·2021년 12월 7일
0
post-thumbnail

10845번 큐




문제풀이

#include <iostream>
#include <queue>
#include <string.h>
using namespace std;
queue<int> q;

void front()
{
    if (!q.empty())
    {
        printf("%d\n", q.front());
    }
    else
    {
        cout << "-1\n";
    }
}
void back()
{
    if (!q.empty())
    {
        printf("%d\n", q.back());
    }
    else
    {
        cout << "-1\n";
    }
}
void pop()
{
    if (!q.empty())
    {
        printf("%d\n", q.front());
        q.pop();
    }
    else
    {
        cout << "-1\n";
    }
}
void empty()
{
    if (q.empty())
    {
        cout << "1\n";
    }
    else
    {
        cout << "0\n";
    }
}

int main(void)
{
    int input;
    scanf("%d", &input);
    char order[6];
    for (int i = 0; i < input; i++)
    {
        scanf("%s", order);
        if (strcmp(order, "push") == 0)
        {
            int a;
            scanf("%d", &a);
            q.push(a);
        }
        else if (strcmp(order, "pop") == 0)
        {
            pop();
        }
        else if (strcmp(order, "size") == 0)
        {
            printf("%d\n", q.size());
        }
        else if (strcmp(order, "empty") == 0)
        {
            empty();
        }
        else if (strcmp(order, "front") == 0)
        {
            front();
        }
        else if (strcmp(order, "back") == 0)
        {
            back();
        }
    }
}

명령을 입력받을때 명령글자 수대로 받아서 불규칙적인 오류를 만나 애먹었다. 글자수 + 여분 꼭 기억해야지

profile
자라는 개발자

0개의 댓글