10828 : 스택

풀이

스택을 쓰자.

코드

#include <bits/stdc++.h>
using namespace std;
int n, a;
stack<int> sta;
string str;
int main() {
	for (scanf("%d", &n); n; n--) {
		cin >> str;
		if (str == "push") {
			scanf("%d", &a);
			sta.push(a);
		}
		else if (str == "pop") {
			if (sta.empty()) printf("-1\n");
			else printf("%d\n", sta.top()), sta.pop();
		}
		else if (str == "size") {
			printf("%d\n", sta.size());
		}
		else if (str == "empty") {
			printf("%d\n", sta.empty());
		}
		else {
			if (sta.empty()) printf("-1\n");
			else printf("%d\n", sta.top());
		}
	}
	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2017-03-13 09:09

Read more posts by this author