Algorithm

BOJ 18258 c++ 큐 2

최강훈 2020. 8. 26. 10:35

BOJ 18258 c++ 큐 2

백준 18258 cpp 큐 2


STL을 이용. STL에는 이미 push, pop, front, back, empty, size가 다 구현되어 있다.


#include <bits/stdc++.h>
using namespace std;

queue<int> Q;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    int ea;
    cin >> ea;

    string str;

    while (ea--)
    {
        cin >> str;

        if (str == "push")
        {
            int t;
            cin >> t;
            Q.push(t);
        }

        else if (str == "pop")
        {
            if (Q.empty())
            {
                cout << "-1\n";   
            }
            else
            {
                cout << Q.front() << '\n';
                Q.pop();
            }
        }

        else if (str == "size")
        {
            cout << Q.size() << '\n';
        }

        else if (str == "empty")
        {
            if (Q.empty())
                cout << "1\n";
            else
                cout << "0\n";
        }

        else if (str == "front")
        {
            if (Q.empty())
            {
                cout << "-1\n";
            }
            else
            {
                cout << Q.front() << '\n';
            }
        }

        else //back
        {
            if (Q.empty())
            {
                cout << "-1\n";
            }
            else 
            {
                cout << Q.back() << '\n';    
            }
        }
    }

}