카테고리 없음

10845번 큐 - C++

미미누 2022. 7. 20. 23:09

[문제]
https://www.acmicpc.net/problem/10845

10845번: 큐

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

www.acmicpc.net


[풀이]


[코드]

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


int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    
    queue<int> q;
    int n;
    cin >> n;
    
    while(n--){
        string s;
        cin >> s;
        
        if(s == "push"){
            int t; 
            cin >> t;
            q.push(t);
        }
        else if(s == "pop"){
            if(q.empty()){
                cout << "-1\n";
            }
            else {
                cout << q.front() << "\n";
                q.pop();
            }
        }
        else if(s == "size") {
            cout << q.size() << "\n";
        }
        else if(s == "empty") {
            cout << q.empty() << "\n";
        }
        else if(s == "front") {
            if(q.empty()) cout << -1 << "\n";
            else {
                cout << q.front() << "\n";
            }
        }
       else {
            if(q.empty()) cout << -1 << "\n";
            else {
                cout << q.back() << "\n";
            }
        }
        
    }
}