728x90
https://www.acmicpc.net/problem/10828
10828๋ฒ: ์คํ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง ์์ ๋ช ๋ น์ด ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค.
www.acmicpc.net
โญ ๋ด ์์ค ์ฝ๋
#include<iostream>
#include <stack>
#include <string>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
stack <int> st;
int n,num;
string s;
cin >> num;
for (int i = 0; i < num; i++) {
cin >> s;
switch (s[1])
{
case 'u':
cin >> n;
st.push(n);
break;
case 'o':
if (s[0] == 't') {
if (st.empty()) {
cout << -1 << '\n';
}
else {
cout << st.top() << '\n';
}
}
else {
if (!st.empty()) {
cout << st.top() << '\n';
st.pop();
}
else {
cout << -1 << '\n';
}
}
break;
case 'i':
cout << st.size() << '\n';
break;
case 'm':
if (st.empty()) {
cout << 1 << '\n';
}
else {
cout << 0 << '\n';
}
break;
}
}
return 0;
}
728x90