문제설명
입출력 예제
개념
기본적인 스택을 잘 이해하고 있는지 확인하는 문제다. 입력받은 문자열에 맞게 스택의 동작을 수행하게끔 작성하면 쉽게 해결할 수 있다.
풀이
#include <iostream>
#include <stack>
int main()
{
std::stack<int> st;
int N, n;
std::cin >> N;
while (N--)
{
std::string str;
std::cin >> str;
if (str == "push")
{
std::cin >> n;
st.push(n);
}
else if (str == "top")
{
if (!st.empty())
std::cout << st.top() << '\n';
else
std::cout << "-1\n";
}
else if (str == "size")
std::cout << st.size() << '\n';
else if (str == "empty")
std::cout << st.empty() << '\n';
else if (str == "pop")
{
if (!st.empty())
{
std::cout << st.top() << '\n';
st.pop();
}
else
std::cout << "-1\n";
}
}
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 9012 괄호 with C++ (0) | 2023.05.10 |
---|---|
[백준] 10773 제로 with C++ (0) | 2023.05.09 |
[백준] 1010 다리 놓기 with C++ (0) | 2023.05.06 |
[백준] 20920 영단어 암기는 괴로워 with C++ (0) | 2023.05.05 |
[백준] 2108 통계학 with C++ (0) | 2023.05.04 |