- 문제
- 풀이
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int n = 0;
cin >> n;
stack<int> st;
string str;
for (int i = 0; i < n; i++)
{
cin >> str;
if (str == "push")
{
int input = 0;
cin >> input;
st.push(input);
}
else if (str == "pop")
{
if (false == st.empty())
{
cout << st.top() << '\n';
st.pop();
}
else
{
cout << "-1" << '\n';
}
}
else if (str == "size")
{
cout << st.size() << '\n';
}
else if (str == "empty")
{
if (true == st.empty())
{
cout << "1" << '\n';
}
else
{
cout << "0" << '\n';
}
}
else if (str == "top")
{
if (false == st.empty())
{
cout << st.top() << '\n';
}
else
{
cout << "-1" << '\n';
}
}
}
return 0;
}
- 메모
front, pop 함수를 실행하기 전에 empty 함수로 스택 내부가 비어있는지 확인하는 것을 주의해야 한다.
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[백준/2587번/C++] 대표값2 (0) | 2024.08.19 |
---|---|
[백준/2480번/C++] 주사위 세개 (0) | 2024.07.23 |
[백준/4949번/C++] 균형잡힌 세상 (0) | 2024.07.10 |
[백준/10773번/C++] 제로 (0) | 2024.06.02 |
[백준/10871번/C++] X보다 작은 수 (0) | 2024.05.01 |