본문 바로가기

Algorithm/자료구조

(C++) - 백준(BOJ) 10845번 : 큐(queue)

반응형

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

 

10845번: 큐

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

www.acmicpc.net

자료구조 queue를 사용하는 문제였습니다.

 

 

Code

#include <bits/stdc++.h>
using namespace std;
int n;
queue <int> q;
int main(){
    cin >> n;
    while(n--){
        string op;
        cin >> op;
        if(op == "push"){
            int x;
            cin >> x;
            q.push(x);
        }
        else if(op == "pop"){
            if(q.size()) cout << q.front(), q.pop();
            else cout << -1;
        }
        else if(op == "size"){
            cout << q.size();
        }
        else if(op == "empty"){
            cout << q.empty();
        }
        else if(op == "front"){
            if(q.size()) cout << q.front();
            else cout << -1;
        }
        else if(op == "back"){
            if(q.size()) cout << q.back();
            else cout << -1;
        }
        if(op!="push")cout << '\n';
    }
}