ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 10845 큐 [C++]
    알고리즘 2018. 11. 25. 21:59


    문제 링크 : https://www.acmicpc.net/problem/10845


    소스코드


    #include <iostream>
    #include <queue>
    #include <string>
    using namespace std;
    int main() {
        queue<int> q;
        int n;
        cin >> n;
        cin.ignore();
        for (int i = 0; i < n; ++i) {
            string order;
            getline(cin, order);
            if (order == "pop") {
                if (q.empty()) cout << -1 << endl;
                else {
                    cout << q.front() << endl;
                    q.pop();
                }
            }
            else if (order == "size") {
                cout << q.size() << endl;
            }
            else if (order == "empty") {
                if (q.empty()) cout << 1 << endl;
                else cout << 0 << endl;
            }
            else if (order == "front") {
                if (q.empty()) cout << -1 << endl;
                else
                    cout << q.front() << endl;
            }
            else if (order == "back") {
                if (q.empty()) cout << -1 << endl;
                else
                    cout << q.back() << endl;
            }
            else {
                order = order.erase(0, 5);
                int x = stoi(order);
                q.push(x);
            }
        }
    }


    큐는 스택과 다르게 먼저 들어온 데이터가 먼저나가는 자료 구조입니다.


    C++에서 제공하는 STL을 사용하면 쉽게 큐를 사용하실 수 있습니다.


    큐 STL 사용법 : http://www.dreamy.pe.kr/zbxe/CodeClip/3768930

    '알고리즘' 카테고리의 다른 글

    백준 1158 조세퍼스 문제 [C++]  (0) 2018.11.25
    백준 1966 프린터 큐 [C++]  (0) 2018.11.25
    백준 1874 스택 수열 [C++]  (0) 2018.11.25
    백준 5639 이진 검색 트리 [C++]  (0) 2018.11.25
    백준 9012 괄호 [C++]  (0) 2018.11.25

    댓글

© 2018 TISTORY. All rights reserved.