https://www.acmicpc.net/problem/10828
시작
정말 간만에 종강해서 알고 기초를 다져보자는 의미로
1차적으로 몸풀기용으로 스택 큐 덱 풀어보기로 했습니다.
입력
- N(문자열 길이)
- 스택 명령어 문자열
- "top"
- "pop"
- "push val"
- "empty"
- "size"
출력
- "top" 맨 마지막에 넣었던 element 출력
- "pop" top과 같은 출력
- "empty" size <= 0 : 1, 아니면 0
- "size" 사이즈
1 그냥 if else로 구현해보자 (with, string 라이브러리)
생각방법
* 그냥 구현하기.. ㅋㅋ
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
|
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <string>
#include <algorithm>
using namespace std;
int N;
int stack_arr[10001];
int stack_size = 0;
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL);
cin >> N; string operation;
for (int i = 0; i < N; i++)
{
cin >> operation;
if (operation == "push")
{
int element; cin >> element;
stack_arr[stack_size++] = element;
}
else if (operation == "empty")
{
if (stack_size <= 0)
cout << 1 << '\n';
else
cout << 0 << '\n';
}
else if (operation == "size")
{
cout << stack_size << '\n';
}
else if (operation == "top")
{
if (stack_size <= 0)
cout << -1 << "\n";
else
cout << stack_arr[stack_size-1] << '\n';
}
else if(operation == "pop")
{
if (stack_size <= 0)
cout << -1 << "\n";
else {
cout << stack_arr[stack_size-1] << '\n';
stack_arr[stack_size-1] = 0;
stack_size--;
}
}
}
return 0;
}
|
cs |
2 연결리스트를 겉들인 클래스 사용?
생각방법
'PS > 알고리즘' 카테고리의 다른 글
[프로그래머스 스택/큐] (level2) 1번 - 기능개발 (0) | 2021.06.28 |
---|---|
[프로그래머스] string 입력 참고 (0) | 2021.06.28 |
[백준 10942번] 팰린드롬 |오토마타|,|DP연습| (0) | 2021.02.24 |
|정렬 알고리즘|버블, 선택, 삽입, 퀵, 병합, 힙 정렬 연습 (0) | 2021.02.10 |
|코린이의 코포| Round 698 Div.2 (A, B) 참고에 도움안되는 솔브 (0) | 2021.01.29 |