스택(Stack)(with Python)

스택은 박스 쌓기에 비유할 수 있다. 먼저 들어온 박스는 밑에서 부터 차곡차곡 쌓이게 되고, 아래에 있는 박스를 치우기 위해서는 위에 있는 박스부터 치워야한다. 이러한 구조를 선입후출(First In Last Out) 구조 또는 후입선출(Last In First Out) 구조라고 한다.



[스택 예제.py]

stack = []

stack.append(5) #5삽입
stack.append(2) #2삽입
stack.append(3) #3삽입
stack.append(7) #7삽입
stack.pop()     #최상단 원소(7) pop
stack.append(1)	#1삽입
stack.append(4) #4삽입
stack.pop()	#최상단 원소(4) pop

print(stack) #최상단 원소부터 출력
print(stack[::-1]) #최하단 원소부터 출력

출력:

[5,3,2,1],
[1,2,3,5]

파이썬에서 스택을 이용할 때에는 별도의 라이브러리를 사용할 필요가 없다. 기본 리스트에서 append()와 pop()메서드를 이용하면 스택 자료구조와 동일하게 동작한다.

  • append() : 리스트의 가장 뒤쪽에 데이터를 삽입.
  • pop() : 리스트의 가장 뒤쪽에서 데이터를 꺼냄.

좋은 웹페이지 즐겨찾기