
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main() {
stack<int> st;
string s;
int num(0), inputNum(0);
cin >> num;
for (int i = 0; i < num; i++) {
cin >> s;
if (s == "push") {
cin >> inputNum;
st.push(inputNum);
}
else if (s == "pop") {
if (!st.empty()) {
cout << st.top() << '\n';
st.pop();
}
else cout << -1 << '\n';
}
else if (s == "size") cout << st.size() << '\n';
else if (s == "empty") {
cout << (st.empty() ? 1 : 0) << '\n';
}
else if (s == "top") {
if (!st.empty()) {
cout << st.top() << '\n';
}
else cout << -1 << '\n';
}
}
return 0;
}
์คํ์ ์์ฃผ ์ฌ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ ์ค ํ๋์ด๋ค. ํ์ ์ ์ถ ๋ฐฉ์/LIFO ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋๋ฐ, ์์งํ ๋๋ ํธ์์ ์๋ฐ๋ ํ์ง๋ง ์ด ๋จ์ด๊ฐ ๋๋ฌด ์ด์ํจ... ๊ทธ๋ฅ ์ ์ผ ๋์ค์ ๋ค์ด์จ๊ฒ ์ฒ์์ผ๋ก ๋๊ฐ๋ ๋ฐฉ์์ด๋ค. ํ๋ง๊ธ์ค ๊ณผ์ํต๊ฐ์ ๋๋? ๋งจ ์์ ์๋ ๊ฒ๋ถํฐ ๊ฐ์ ธ๊ฐ๋ค.

์ฝ๊ฐ ์ด๋ฐ ๋๋์ด๋ค
C++์์๋ include <stack>์ ํตํด ์์ฝ๊ฒ ๋ฏธ๋ฆฌ ๊ตฌํ๋ ํจ์๋ค์ ์ฌ์ฉํ ์ ์๋ค.