[자료구조 with Python] 스택(Stack)
스택(Stack)
- 가장 나중에 넣은 데이터가 가장 먼저 꺼낼 수 있는 데이터 구조
- LIFO(Last-In, First-Out): 마지막에 넣은 데이터를 가장 먼저 추출함 <=> FILO
- 스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 활용해서 구현하는 것이 일반적
기능
push()
: 데이터를 스택에 넣기pop()
: 데이터를 스택에서 꺼내기
파이썬으로 Stack 활용
- 파이썬은 append(push), pop 메서드를 제공
# 리스트를 하나 만들고
data_stack = list()
# 리스트에 데이터 추가
data_stack.append(1)
data_stack.append(2)
# 확인
print(data_stack) # [1, 2]
# 리스트에서 데이터 꺼내기
data_stack.pop() # 2가 꺼내짐(마지막에 넣은게 2니까)
push, pop 기능 구현
stack_list = list()
# 추가는 맨 마지막에
def push(data):
stack_list.append(data)
# 추출도 맨 마지막에
def pop():
data = stack_list[-1]
del stack_list[-1]
return data
# 0 부터 9까지 리스트에 push 하고
for i in range(10):
push(i)
# 꺼내기
pop() # 9
pop() # 8
pop() # 7
pop() # 6
Author And Source
이 문제에 관하여([자료구조 with Python] 스택(Stack)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yc1303/자료구조-with-Python-스택Stack저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)