No Rules Rules

스택 (feat. 백준, 10828번) 본문

생활/코테

스택 (feat. 백준, 10828번)

개발하는 완두콩 2022. 8. 11. 22:15
728x90
반응형

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

 

10828번: 스택

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

www.acmicpc.net

 

반응형

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <stack>
using namespace std;
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
	register int N;
	string str;
	stack<int> ans;
	cin >> N;
	for (register int n = 0, v; n < N; ++n) {
		cin >> str;
		if (!str.compare("push"))
			cin >> v, ans.push(v);
		else if (!str.compare("pop"))
			if (ans.empty())
				cout << -1 << "\n";
			else
				cout << ans.top() << "\n", ans.pop();
		else if (!str.compare("size"))
			cout << ans.size() << "\n";
		else if (!str.compare("empty"))
			if (ans.empty())
				cout << 1 << "\n";
			else
				cout << 0 << "\n";
		else
			if (ans.empty())
				cout << -1 << "\n";
			else
				cout << ans.top() << "\n";
	}
	return 0;
}
// *&)*@*

자료구조 stack을 사용하여 문제에 주어진 문자열에 따라 출력하는 문제입니다.

728x90
반응형
Comments