나중에 넣은 데이터가 먼저 반환되도록 설계한 메모리 구조
Last In First Out (LIFO)라고도 함
파이썬은 따로 stack 구조를 제공하지 않기 때문에, 기본 클래스 list를 사용하여 stack을 표현할 수 있다.
.append()
.pop()
: 데이터 구조에서 맨 마지막에 있는 값
을 뽑아서 준다는 것먼저 줄 선 데이터가 먼저 반환되도록 한다는 의미이다.
선입선출, First In First Out (FIFO) 라고 한다.
.append()
.pop(0)
: 0을 넣어주면 0번째, 즉 가장 앞의 원소를 뽑아낸다는 뜻이니까 선입선출을 하게 되는 것스택과 큐의 기능을 모두 가진 객체로 출입구를 양쪽에 가지고 있어 스택처럼 써도 되고, 큐처럼 써도 된다.
from collections import deque
dq = deque('love')
dq
# deque(['l','o','v','e'])
스택 구현 : append(), pop()
큐 구현 : append(), popleft()
.append()
.popleft()
: 맨 앞의 원소를 빼줌