스택

BiBi·2021년 1월 18일
0

코딩테스트연습

목록 보기
26/66
#include <algorithm>
#include <iostream>
#include <stdio.h>
#include <vector>
#include <map>
#include <stack>
using namespace std;



int main() {
	freopen("input.txt", "rt", stdin);
	int n;
	scanf("%d", &n);

	stack<int> s;
	string str;
	int num;
	for (int i = 0; i < n; i++) {
		cin >> str;
		if (str == "push") {
			cin >> num;
			s.push(num);
		}
		else if (str == "top") {
			if (s.empty()) {
				cout << "-1" << '\n';
			}
			else {
				cout << s.top() << '\n';
			}
		}
		else if (str == "size") {
			cout << s.size() << '\n';
		}
		else if (str == "empty") {
			if (s.empty()) {
				cout << "1" << '\n';
			}
			else {
				cout << "0" << '\n';
			}
		}
		else if (str == "pop") {
			if (s.empty()) {
				cout << "-1" << '\n';
			}
			else {
				cout << s.top() << '\n';
				s.pop();
			}
		}
	}
	

	return 0;
}
profile
Server Network Engineer

0개의 댓글