본문 바로가기

Algorithm/Python

[Python] 스택

스택은 가장 나중에 들어온 자료가 가장 먼저 빠져나가는 LIFO(Last-In-First-Out) 자료구조이다. 

아래의 그림을 참고하면 이해하기 편하다.

 

 

그렇다면 파이썬에서는 스택을 어떻게 구현할까?

 

사실 따로 구현할 필요가 없다. 우리가 평소에 사용하는 list가 그 자체로 스택으로 쓰일 수 있기 때문이다.

사용 방법을 알아보자.

 

Stack - init

# 빈 스택으로 초기화
stack = []

 

Stack - push

# 스택에 원소 추가
stack = [1, 2, 3, 4, 5]
stack.append(6)

# [1, 2, 3, 4, 5, 6]

 

 

Stack - pop

# 스택의 원소 제거
stack = [1, 2, 3, 4, 5]
top = stack.pop()

print(top)
print(stack)

# 3
# [1, 2, 3, 4, 5]

 

 

Stack - top

# 스택의 top 가져오기

stack = [1, 2, 3, 4, 5]
top = stack[-1]

print(top)

# 5

 

이 정도만 알아도 코딩테스트에서 스택을 활용할 수 있다.