문제

스택 백준 10828번

리뷰

C++ STL stack에 구현된 함수들과 으로 금방 풀 수 있었다.

코드

#include <stdio.h>
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <string>
#include <algorithm>
using namespace std;

// 스택 (BOJ 10828번)  

int main(void){

    int order = 0, i = 0; 
    int num = 0;
    stack<int> st;
    string input = "";

    freopen("input.txt", "rt", stdin);

    scanf("%d", &order);

    for(i=0; i<order; i++){

        cin >> input;

        if(input == "push"){ 

            scanf("%d", &num);
            st.push(num);

        }else if(input == "pop"){

            if(!st.empty()){
                num = st.top();
                st.pop();
            }else{
                num = -1;
            }
            printf("%d\n", num);

        }else if(input == "top"){

            if(!st.empty()){
                num = st.top();
            }else{
                num = -1;
            }

            printf("%d\n", num);

        }else if(input == "size"){
            printf("%d\n", st.size());

        }else if(input == "empty"){
            printf("%d\n", st.empty());
        }

    }

    return 0;
}
728x90

'알고리즘 > 백준' 카테고리의 다른 글

카드 구매하기 백준 11052  (0) 2020.08.13
2xn 타일링2 백준 11727번  (0) 2020.08.12
2xn 타일링 백준 11726번  (0) 2020.08.12
분산처리 백준 1009번 c++  (0) 2020.08.12
괄호 백준 2012  (0) 2019.07.21

+ Recent posts