본문 바로가기
개발공부/문제풀기

백준 10828 - 스택

by 맙소사 2022. 3. 26.
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
class Stack:
    def __init__(self):
        self.stack = []
 
    # 정수 x를 스택에 넣는 연산이다.
    def push(self, x):
        self.stack.append(x)
 
    # 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
    def pop(self):
        if len(self.stack) > 0 :
            return self.stack.pop()
        else :
            return -1
 
    # 스택에 들어있는 정수의 개수를 출력한다.
    def size(self):
        return len(self.stack)
 
    # 스택이 비어있으면 1, 아니면 0을 출력한다.
    def empty(self):
        if len(self.stack) > 0 :
            return 0
        else :
            return 1
 
    # 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.
    def top(self):
        if len(self.stack) > 0 :
            return self.stack[-1]
        else :
            return -1
 
def bk10828_stack():
    import sys
 
    s = Stack()
    n = int(sys.stdin.readline())
    for i in range(n):
        order = sys.stdin.readline().split()
 
        if order[0== 'top':
            print(s.top())
        elif order[0== 'pop':
            print(s.pop())
        elif order[0== 'size':
            print(s.size())
        elif order[0== 'empty':
            print(s.empty())
        elif order[0== 'push' :
            s.push(order[1])
 
bk10828_stack()
 
cs

'개발공부 > 문제풀기' 카테고리의 다른 글

25314 코딩은 체육과목 입니다.  (1) 2024.11.01
COCI '18 Contest 4 #1 Elder  (2) 2022.06.22
백준 4153 - 직각삼각형  (0) 2022.03.21
백준 1920 - 수 찾기  (0) 2022.03.21
백준 2525 - 오븐시계  (0) 2022.03.20

댓글