풀이
스택을 쓰자.
코드
#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, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이