cpp) 백준 18258: 큐 2
본문 바로가기
코딩 테스트/백준 (C++, Python)

cpp) 백준 18258: 큐 2

by NEWSUN* 2023. 7. 12.

Problem

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

 

18258번: 큐 2

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

www.acmicpc.net

 

 

Solution

#include<iostream>
#include<string>
#include<queue>

using namespace std;

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

    int n;
    cin >> n;
    queue<int> q;

    while(n--){
        string s;
        cin >> s;

        if(s=="push"){
            int k;
            cin >> k;
            q.push(k);
        }

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

        if(s=="size"){
            cout << q.size() << '\n';
        }

        if(s=="empty"){
            cout << q.empty() << '\n';
        }

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

        if(s=="back"){
            if (q.empty())
                cout << -1 << '\n';
            else
                cout << q.back() << '\n';
        }
    }

    return 0; 
}

 

'코딩 테스트 > 백준 (C++, Python)' 카테고리의 다른 글

cpp) 백준 1463: 1로 만들기  (0) 2023.07.15
cpp) 백준 11399: ATM  (0) 2023.07.12
cpp) 백준 10773: 제로  (0) 2023.07.08
cpp) 백준 10828: 스택  (0) 2023.07.08
cpp) 백준 2606: 바이러스  (0) 2023.07.05