๋ฐ์—”์œผ๋กœ ์„ฑ์žฅ์ค‘ ๐ŸŒฑ

์•Œ๊ณ ๋ฆฌ์ฆ˜/[๋ฐฑ์ค€]

BOJ_18258 : ํ 2 (C++)

์จ๋ฐ 2023. 2. 21. 23:10

ํ’€์ด ๋ฐฉ๋ฒ•

 

๊ฐ„๋‹จํ•˜๊ฒŒ queue ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด, ์–ด๋ ต์ง€ ์•Š์€ ๋ฌธ์ œ์ด๋‹ค.

 

 

 

์ฝ”๋“œ

 

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
#include <cstring>
#include <stack>
#include <queue>
#include <limits.h>
#include <regex>
#include <sstream>
#include <tuple>    
using namespace std;

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    queue <int> q; // FIFO

    int n; // ๋ช…๋ น ์ˆ˜
    cin >> n;

    for(int i = 0; i < n; i++){
        string str; // ๋ช…๋ น
        cin >> str;

        if(str == "push"){
            int temp;
            cin >> temp;
            q.push(temp);
        }

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

        else if(str == "size"){
            cout << q.size() << "\n";
        }

        else if(str == "empty"){
            if(!q.empty()){
                cout << '0' << "\n";
            }
            else{
                cout << '1' << "\n";
            }
        }

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

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

    }

    return 0;
}