관리 메뉴

민우의 코딩노트

18258번 큐 2 - C++ 본문

Algorithm/BOJ

18258번 큐 2 - C++

미미누 2022. 7. 25. 22:57

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

18258번: 큐 2

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,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 n;
            cin >> n;
            q.push(n);
        }
        else if(s == "pop"){
            if(!q.empty()) {
                cout << q.front() << '\n';
                q.pop();
            }
            else {
                cout << -1 << '\n';
            }
        }
        else if(s == "size") cout << q.size() << '\n';
        
        else if(s == "empty") cout << q.empty() << '\n';
        
        else if(s == "front") {
            if(!q.empty()) cout << q.front() << '\n';
            else cout << -1 << '\n';
        }
        else {
            if(!q.empty()) cout << q.back() << '\n';
            else cout << -1 << '\n';
        }
    }
}

'Algorithm > BOJ' 카테고리의 다른 글

1021번 회전하는 큐 - C++  (0) 2022.07.26
2164번 카드2 - C++  (0) 2022.07.25
6549번 히스토그램에서 가장 큰 직사각형 - C++  (0) 2022.07.25
3015번 오아시스 재결합 - C++  (0) 2022.07.24
10773번 제로 - C++  (0) 2022.07.16