Skip to content

Commit d07b6b5

Browse files
committed
[Week01] BOJ 10828: 스택
1 parent a162f6f commit d07b6b5

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#include <iostream>
2+
#include <vector>
3+
#include <string>
4+
using namespace std;
5+
6+
class Stack {
7+
public:
8+
void push(int X) {
9+
stack.push_back(X);
10+
}
11+
void pop() {
12+
if (stack.empty()) cout << -1 << "\n";
13+
else {
14+
cout << stack[stack.size() - 1] << "\n";
15+
stack.erase(stack.end() - 1);
16+
}
17+
}
18+
void size() {
19+
cout << stack.size() << "\n";
20+
}
21+
void empty() {
22+
cout << stack.empty() << "\n";
23+
}
24+
void top() {
25+
if (stack.empty()) cout << -1 << "\n";
26+
else {
27+
cout << stack[stack.size() - 1] << "\n";
28+
}
29+
}
30+
private:
31+
vector<int> stack;
32+
};
33+
34+
int main() {
35+
int N, X;
36+
string s;
37+
cin >> N;
38+
Stack stack;
39+
while (N--) {
40+
cin >> s;
41+
if (s == "push") {
42+
cin >> X;
43+
stack.push(X);
44+
}
45+
else if (s == "pop") {
46+
stack.pop();
47+
}
48+
else if (s == "size") {
49+
stack.size();
50+
}
51+
else if (s == "empty") {
52+
stack.empty();
53+
}
54+
else if (s == "top") {
55+
stack.top();
56+
}
57+
}
58+
}

0 commit comments

Comments
 (0)