백준 10828 스택 문제를 1차원 배열을 사용하여 풀어보세요
#include <iostream>
using namespace std;
int main()
{
int stack[10001];
int sp = 0;
int n, i, a;
string st;
cin >> n;
for(i=0;i<n;i++)
{
cin >> st;
if(st.compare("push") == 0)
{
cin >> a;
stack[sp] = a;
sp++;
}
else if(st.compare("pop") == 0)
{
if(sp == 0)
{
cout << -1 << '\n';
}
else
{
cout << stack[sp-1] << '\n';
sp--;
}
}
else if(st.compare("size") == 0)
{
cout << sp << '\n';
}
else if(st.compare("empty") == 0)
{
if(sp == 0)
{
cout << 1 << '\n';
}
else
{
cout << 0 << '\n';
}
}
else if(st.compare("top") == 0)
{
if(sp == 0)
{
cout << -1 << '\n';
}
else
{
cout << stack[sp-1] << '\n';
}
}
}
return 0;
}
'백준 문제풀이' 카테고리의 다른 글
D01 Test - Phone Line (0) | 2024.07.31 |
---|---|
백준 1260 - dfs와 bfs - 비재귀(스택 큐사용) (1) | 2022.10.11 |
백준 1182번 부분수열의 합 소스 코드 - 비트마스크 (0) | 2022.01.06 |
백준 2531번 회전초밥 소스 코드 (0) | 2022.01.06 |
백준 2805번 - 나무 자르기 (0) | 2021.12.17 |