https://www.acmicpc.net/problem/10828
10845번 큐 문제 푸는 방식을 이용해 스택을 구현하면 된다.
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int num;
cin >> num;
stack<int> s;
for(int i = 0; i < num; i++)
{
string str;
cin >> str;
int temp;
if(str == "push"){
cin >> temp;
s.push(temp);
}
else if(str == "pop")
{
if(s.empty())
cout << -1 << endl;
else{
cout << s.top() << endl;
s.pop();
}
}
else if(str == "size")
{
cout << s.size() << endl;
}
else if(str == "empty")
{
cout << s.empty() << endl;
}
else if(str == "top")
{
if(s.empty())
cout << -1 << endl;
else{
cout << s.top() << endl;
}
}
}
}