천 줄 코딩도 한 삽질 부터

스택 자료구조 : Stack Data Structure 본문

Algo/자료구조

스택 자료구조 : Stack Data Structure

리준희 2021. 1. 2. 03:47

스택이란

 

Stack은 Abastract Data Type으로, 추상 자료형으로 분류됩니다.

 

Stack은 기본적으로 후입선출 자료구조이고, FILO라고도 이야기하는데, 여기서 FILO는

 

F : First

I : In

L : Last

O : Out

 

말 그대로 먼저 들어온 놈이 먼저 나간다! 입니다

많이 사용하는 비유로 박스 쌓기를 사용하는데, 글 정리를 위해 검색 중 딱 맞는 비유를 찾았습니다.

바로 프링글스!

 

가장 먼저 통 안에 넣은 넘은 가장 늦게 먹게 되는 프링글스!

 

프링글스를 하나씩 꺼내서 먹는다고 할 때, 우리는 통에 가장 늦게 들어간 칩을 먼저 먹게 되는데,

가장 늦게 들어간 자료를 먼저 꺼내서 쓰고, 가장 먼저 들어간 자료는 가장 마지막에 꺼내서 쓰게 되는 점이 스택 자료구조와 동일합니다.

 

연산 방법

 

스택에 데이터를 넣을 때는 push,

 

스택에서 데이터를 추출할 때는 pop을 사용한다.

 

구현

 

파이썬을 이용해 구현해 볼 것이다.

pop연산은 동명의 메서드를 사용하지만,

파이썬에서는 push연산을 append라는 이름의 메서드를 사용한다는 점을 주의하자.

 

stack = [] #리스트 형태의 빈 stack 생성

stack.append(1) #push연산
stack.append(2)
stack.append(3)
stack.pop()	    #pop
stack.append(4)
stack.append(5)
stack.pop

print(stack) #[1, 2, 4]

 

 

 

파이썬 코드와 실행 결과 : repl.it

print문을 이용하여, 가장 먼저 push한 최하단 원소부터 출력되고,

pop연산 직전에 넣은 값인 3과 5는 stack에 없는 실행 결과를 볼 수 있다.

Comments