스택(stack)은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있도록 제한된 자료구조이다. 스택에 새로 추가한 원소는 원래 있던 원소의 위에 쌓이는 형태가 되므로 늦게 들어갈 수록 먼저 나온다. 이를 후입선출(LIFO) 구조라고 한다.
파이썬은 스택 자료구조는 따로 제공하지 않기 때문에 기본 자료형인
리스트
를 통해 스택을 구현할 수 있다.
# 빈 스택(리스트) 초기화
stack = []
stack
append
메소드를 이용하여 리스트의 가장 마지막에 원소를 넣도록 한다.# 스택에 원소 추가
stack = [1, 2, 3]
stack.append(4)
stack
# [1, 2, 3, 4]
# 스택에서 원소 제거 후 반환
stack = [1, 2, 3]
top = stack.pop()
print(top)
stack
# 3
# [1, 2]
# 스택의 top 반환하기
stack = [1, 2, 3]
top = stack[-1]
top
# 3