본문 바로가기
PS/BOJ

[백준] 10866. 덱(c++)

by backend 개발자 지망생 2025. 2. 5.

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

stl deque를 사용해서 요구사항대로 구현했다.

 


#include<iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <climits>
#include <queue>
#include <set>
#include <cmath>
#include <stack>
#include <list>

using namespace std;

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

    int n;

    cin >> n;

    deque<int> q;

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

        if (s == "push_back") {
            int temp;
            cin >> temp;
            q.push_back(temp);
        } else if (s == "push_front") {
            int temp;
            cin >> temp;
            q.push_front(temp);
        } else if (s == "pop_front") {
            if (!q.empty()) {
                cout << q.front() << "\n";
                q.pop_front();
            } else {
                cout << "-1\n";
            }
        } else if (s == "pop_back") {
            if (!q.empty()) {
                cout << q.back() << "\n";
                q.pop_back();
            } 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 (s == "back") {
            if (!q.empty()) {
                cout << q.back() << "\n";
            } else {
                cout << "-1\n";
            }
        }
    }

    return 0;
}

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

[백준] 5430. AC(c++)  (0) 2025.02.05
[백준] 1021. 회전하는 큐(c++)  (0) 2025.02.05
[백준] 2164. 카드2(c++)  (0) 2025.02.04
[백준] 18258. 큐 2(c++)  (0) 2025.02.04
[백준] 10845. 큐(c++)  (0) 2025.02.04