마이라이프해피라이프

백준 10828번 c++ 풀이 - 스택 (pop_back, back) 본문

컴퓨터/백준(C++)

백준 10828번 c++ 풀이 - 스택 (pop_back, back)

YONJAAN 2021. 9. 15. 22:00

<pop_back() 과 back()>

- pop_back() : vector 가장 마지막 요소를 뺌. (return x) 

- back(): vector 가장 마지막 요소 출력.

 

<소스코드> 

#include <iostream>
#include <vector>
#include <string>
using namespace std
 
int main() {
    int length; 
    cin >> length; 
    vector<int> vec;
 
    for (int i = 0; i < length; i++) {
        string com;
        cin >> com; 
        if (com == "push") {
            int a; 
            cin >> a;
            vec.push_back(a);
        }
        else if (com == "pop") {
            if (vec.size() != 0) {
                cout << vec.back() << '\n';
                vec.pop_back();
            }
            else
                cout << -1 << '\n';
        }
        else if (com == "size") {
            cout << vec.size() << '\n';
        }
        else if (com == "empty") {
            if (vec.size() == 0)
                cout << 1 << '\n';
            else
                cout << 0 << '\n';
        }
        else if (com == "top") {
            if (vec.size() == 0)
                cout << -1 << '\n';
            else 
                cout << vec[vec.size() - 1<< '\n';
        }
    }
    return 0;
}
cs