[자료구조] Stack 이란?

Stack (스택) 이란?

FILO(First In, Last Out) 또는 LIFO(Last In, First Out)

선입 후출로 “나중에 들어간 것이, 먼저 나온다” 라는 대표적인 자료구조 중 하나이다!

글로만 보면 도대체 이게 무슨 말인지 모르는 경우가 있다. 간단하게 말해서“운동장의 큰 구덩이에 빠진 공” 을 생각해보자.

위와 같은 그림에서 1번째 공을 꺼내려면 우선 2번째 공을 꺼내야 한다. 그 후에 1번째 공을 꺼낼 수 있다.

이와 같은 구조를 가진 것을 Stack(스택) 자료구조라고 한다.

Python 에서는 List(리스트)를 이용해서 Stack(스택) 자료구조를 나타낼 수 있다.

a = list()
a.append(1) # 구덩이에 1번 공 넣기
print(a) # [1] 출력

a.append(2) # 구덩이에 2번 공 넣기
print(a) # [1, 2] 출력

a.pop() # 가장 나중에 들어간 것 리스트에서 빼기
print(a) # [1] 출력

위와 같은 코드를 통해 Stack(스택)이라는 자료구조를 사용할 수 있다.

댓글남기기