게으른카르

백준 10828 스택 C++

C
2023. 4. 11. 14:50

백준 10828 스택.

백준 10828번 "스택" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.

10828번 문제에 주어지는 입력 및 예시

입력: 

14
push 1
push 2
top
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
top

출력:

2
2
0
2
1
-1
0
1
-1
0
3

코드

백준 10828번 "스택" 문제의 코드입니다.

#include <bits/stdc++.h>
using namespace std;
int main() {
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	string tmp,a[5]={"push","top","size","empty","pop"};
	int n,nn;
	cin>>n;
	stack<int> s;
	for(int i=0;i<n;i++){
		cin>>tmp;
		if(tmp==a[0]){
			cin>>nn;
			s.push(nn);
		}
		else if(tmp==a[1]){
			if(!s.empty()) cout<<s.top()<<"\n";
			else cout<<"-1\n";
		}
		else if(tmp==a[2]){
			cout<<s.size()<<"\n";
		}
		else if(tmp==a[3]){
			if(s.empty()) cout<<"1\n";
			else cout<<"0\n";
		}
		else if(tmp==a[4]){
			if(s.empty()) cout<<"-1\n";
			else{
				nn=s.top();
				s.pop();
				cout<<nn<<"\n";
			}
		}
	}
	return 0;
}

실행

위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.

반응형

'C' 카테고리의 다른 글

백준 1992 쿼드 트리 C++  (0) 2023.04.11
백준 10814 나이순 정렬.  (0) 2023.04.11
백준 10845 큐 C++  (0) 2023.04.11
백준 1966 프린터 큐 C++  (0) 2023.04.10
백준 2583 영역 구하기 C++  (0) 2023.04.10

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band