반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- socket
- javascript
- Nestjs
- 문자열
- 알고리즘
- 수학
- 소켓
- BFS
- 백준
- typescript
- HTTP
- Algorithm
- 타입스크립트
- Node.js
- 타입 챌린지
- type challenge
- 자바스크립트
- dfs
- 프로그래머스 레벨 2
- 그래프
- 크롤링
- TCP
- dp
- 가천대
- 레벨 1
- ip
- 쉬운 문제
- 프로그래머스
- HTTP 완벽 가이드
- Crawling
Archives
- Today
- Total
kakasoo
[스택] 스택 (백준 10828번) 본문
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#include <iostream>
#include <string>
using namespace std;
/*
push X : 정수 X를 스택에 넣는 연산이다.
pop : 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다.
만약 스택에 들어있는 정수가 없는 경우에는 - 1을 출력한다.
size : 스택에 들어있는 정수의 개수를 출력한다.
empty : 스택이 비어있으면 1, 아니면 0을 출력한다.
top : 스택의 가장 위에 있는 정수를 출력한다.만약 스택에 들어있는 정수가 없는 경우에는 - 1을 출력한다.
*/
class stack
{
int top;
int n;
int* arr;
public:
stack(int n)
{
this->n = n;
arr = new int[this->n];
top = -1;
}
void push(int x)
{
if (top < n)
arr[++top] = x;
else
cout << "Stack is full!" << endl;
}
void pop()
{
if (top >= 0)
{
cout << arr[top--] << endl;
}
else
cout << -1 << endl;
}
void size()
{
cout << top + +1 << endl;
}
int empty()
{
if (top == -1)
return 1;
else return 0;
}
int topN()
{
if (top != -1)
return arr[top];
else
return -1;
}
};
int n;
int main(void)
{
stack s(10000);
cin >> n;
while (n--)
{
string command;
cin >> command;
if (command == "push")
{
int num;
cin >> num;
s.push(num);
}
else if (command == "pop")
s.pop();
else if (command == "size")
s.size();
else if (command == "top")
cout << s.topN() << endl;
else if (command == "empty")
cout << s.empty() << endl;
}
}
|
백준에서 푸는 모든 문제를 알고리즘에 넣으려고 계획해서 알고리즘에 넣긴 했지만,
사실 알고리즘이라기엔 그냥 자료구조다.
data structure에 넣을까 싶지만, 일단 문제 풀이라서 이 카테고리에 넣었다.
어떤 자료형을 만들어보라고 해도 다 만들 자신이 있었는데, 또 시간이 지나서인지
막상 만드려고 하니까 매~우 매우 버벅거렸다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
[memorization] 이항 계수 1 (백준 11050번) (0) | 2020.03.03 |
---|---|
[DFS] 부분수열의 합 (백준 1182번) (0) | 2020.03.03 |
[이분 탐색] 랜선 자르기 (백준 1654번) (0) | 2020.03.03 |
[LIS] 전깃줄 (백준 2565번) (0) | 2020.03.03 |
[greedy] 회의실 배정 (백준 1931번) (0) | 2020.03.03 |