문제설명
소스코드
#include <iostream>
using namespace std;
int max_stack = 10000;
int ptr = 0;
int stk[10000];
bool isFull() { return ptr >= max_stack; }
bool isEmpty() { return ptr <= 0; }
void push(int value) { if (!isFull()) stk[ptr++] = value; }
void pop()
{
if (!isEmpty()) cout << stk[--ptr] << endl;
else cout << -1 << endl;
}
void peek()
{
if (!isEmpty()) cout << stk[ptr - 1] << endl;
else cout << "-1" << endl;
}
void clear() { ptr = 0; }
int size() { return ptr; }
int main()
{
int N;
cin >> N;
for (int i = 0; i < N; ++i)
{
string command; cin >> command;
if (command == "push")
{
int cmd; cin >> cmd;
push(cmd);
}
else if (command == "pop") pop();
else if (command == "size") cout << size() << endl;
else if (command == "empty")
{
int emp = isEmpty() ? 1 : 0;
cout << emp << endl;
}
else if (command=="top" ) peek();
}
}
설명
2023.01.28 - [자료구조 & 알고리즘] - [JAVA] 스택(Stack)
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[C++] 백준 12단계 - 2231번 문제 (분해합) (0) | 2023.06.25 |
---|---|
[C++] 백준 12단계 - 2798번 문제 (블랙잭) (0) | 2023.06.25 |
[JAVA] 백준 - 11282번 문제 (한글) (0) | 2023.06.23 |
[C++] 백준 - 13416번 문제 (주식 투자) (0) | 2023.06.22 |
[C++] 백준 11단계 - 24313번 문제 (점근적 표기 1) (0) | 2023.05.21 |