https://www.acmicpc.net/problem/10828
STL을 사용해서 구현하는 것도 방법이지만 STL을 안쓰고 구현해보는 것도 좋은 것 같습니다.
삼성같은 경우 STL을 허용하지만 STL을 허용하지 않는 기업도 있기 때문에 한번 코딩해보는 것도 나쁘지 않은 것 같습니다.
#include <iostream>
#include <string>
using namespace std;
int d[1000] = {-1,};
int main()
{
int cnt,input;
int size = 0;
string str;
cin >> cnt;
while (cnt) {
cnt--;
cin >> str;
if (str == "push") {
cin >> input;
size++;
d[size] = input;
}
else if (str == "pop") {
if (size != 0) {
printf("%d\n", d[size]);
d[size] = -1;
size--;
}
else printf("-1\n");
}
else if (str == "size") {
printf("%d\n", size);
}
else if (str == "empty") {
if (size == 0) printf("1\n");
else printf("0\n");
}
else if (str == "top") {
printf("%d\n", d[size]);
}
}
}