본문 바로가기
코테

[stack]백준 10828번 - 스택

by arirang_ 2023. 10. 1.

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

 

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

#include <iostream>
#include <stack>
#include <string>

using namespace std;

int n;
stack<int> st;

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

		
	return 0;
}

'코테' 카테고리의 다른 글

[queue]백준 10845번 - 큐  (0) 2023.10.01
[stack]백준 9012번 - 괄호  (1) 2023.10.01
백준 3986번 - 좋은 단어  (1) 2023.08.25
백준 1940번-주몽  (0) 2023.08.25
백준 1213번 - 팰린드롬 만들기  (0) 2023.08.24