스택은 가장 나중에 들어온 자료가 가장 먼저 빠져나가는 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
이 정도만 알아도 코딩테스트에서 스택을 활용할 수 있다.
'Algorithm > Python' 카테고리의 다른 글
[Python] 큐(Queue) (0) | 2024.09.05 |
---|---|
[Python] 리스트 거꾸로 뒤집기 (0) | 2024.09.04 |
[Python] 최대공약수, 최소공배수 구하기 (0) | 2024.08.30 |
[Python] zip함수(두 개의 리스트를 묶어주기) (0) | 2024.07.07 |
[Python] format 함수(인자 전달) (0) | 2024.07.06 |