자료구조

#9 자료구조 <Stack> 파이썬

j9m 2020. 5. 5. 19:56
반응형

스택(Stack): 한쪽 끝에서만 데이터를 삽입하거나 삭제하는 자료구조

데이터 삽입 연산: push

데이터 삭제 연산: pop

데이터 읽기 연산: top

LIFO (Last-In First-Out): 마지막에 들어온 데이터가 먼저 삭제되는 방식

Stack을 코드로 구현해보면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Stack:
    
    def __init__(self):
        self._items = []
    
    def __len__(self): #스택길이
        return len(self._items)
    
    def __str__(self):
        return str(self._items)
    
    def is_empty(self):
        return self._items == []
    
    def push(self, item): #삽입
        self._items.append(item)
    
    def pop(self): #삭제
        if not self.is_empty():
            return self._items.pop()
    
    def top(self): #맨앞의 값
        if not self.is_empty():
            return self._items[-1]
cs

다음은 스택을 응용한 문제에 대해 알아보겠습니당

 

반응형