코딩테스트/백준

[C++/큐] BOJ 10845 큐

Ssubini 2021. 6. 15. 00:58

https://www.acmicpc.net/problem/10845

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

#include <iostream>
#include <queue>

using namespace std;

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

    queue<int> number;
    int n, pushNum;
    string input;
    cin >> n;

    for(int i = 0; i < n; i++){
        cin >> input;

        if(input == "push") {
            cin >> pushNum;
            number.push(pushNum);
        }else if(input == "pop"){
            if(number.empty()) cout << -1 << '\n';
            else {
                cout << number.front() << '\n';
                number.pop();
                }
        }else if(input == "size"){
            cout << number.size() << '\n';
        }else if(input == "empty"){
            if(number.empty()) cout << 1 << '\n';
            else cout << 0 << '\n';
        }else if(input == "front"){
            if(number.empty()) cout << -1 << '\n';
            else cout << number.front() << '\n';
        }else if(input == "back"){
            if(number.empty()) cout << -1 << '\n';
            else cout << number.back() << '\n';
        }

    }
}