728x90
반응형
10828번 스택
문제풀이
#include <iostream>
#include <string.h>
#include <stack>
using namespace std;
int main()
{
int order;
stack<int> s;
cin >> order;
while (order-- != 0)
{
char str[6];
cin >> str;
if (!strcmp(str, "push"))
{
int a;
cin >> a;
s.push(a);
}
else if (!strcmp(str, "top"))
{
if (s.empty())
{
cout << "-1\n";
}
else
{
cout << s.top() << "\n";
}
}
else if (!strcmp(str, "size"))
{
cout << s.size() << "\n";
}
else if (!strcmp(str, "empty"))
{
cout << s.empty() << "\n";
}
else if (!strcmp(str, "pop"))
{
if (s.empty())
{
cout << "-1\n";
}
else
{
cout << s.top() << "\n";
s.pop();
}
}
}
}
따로 함수로 빼야하나 고민을 했지만 일단 제출했다.
728x90
반응형
'자라는 개발자 > 문제풀이' 카테고리의 다른 글
백준 C++ 10866번 덱 (1) | 2021.12.19 |
---|---|
백준 C/C++ 10250번 ACM 호텔 (0) | 2021.12.18 |
백준 C++ 10989번 수 정렬하기 3 (0) | 2021.12.16 |
백준 C++ 9012번 괄호 (1) | 2021.12.15 |
백준 C++ 10816번 숫자 카드 2 (1) | 2021.12.14 |