Algorithm 2 Stack

Updated:

Algorithm

스택 (Stack)

1. 스택 구조

  • 스택은 LIFO, FILO 데이터 관리 방식을 따름

Algorithm

2. 용어

  • push() : 스택에서 데이터를 넣기
  • pop() : 스택에서 데이터를 빼기

3. 스택의 장단점

  • 장점
    • 구조가 단순해서 구현이 쉽다.
    • 데이터 저장/읽기 속도가 빠른다.
  • 단점
    • 데이터 최대 갯수를 미리 정해야 한다.
    • 저장 공간의 낭비가 발생할 수 있다.

4. Python 리스트 기능으로 스택 구현해보기

stack = list()

stack.append('python')
stack.append('java')
stack.append('go')
stack
['python', 'java', 'go']
stack.pop()
'go'
  • LIFO에 따라 가장 마지막에 넣은 ‘go’가 빠져나온걸 볼 수 있다.

5. 리스트 변수로 push(), pop() 구현해보기

s_list = list()

def push(data):
    s_list.append(data)
    
def pop():
    data = s_list[-1]
    del s_list[-1]
    return data
for i in range(1, 11):
    push(i)
pop()
10
  • push() 에서 range(1, 11)로 지정을 해주었기 때문에 리스트에 1부터 10까지 들어가게 되었고 pop() 로 확인을 해보니 가장 나중에 들어간 10을 빼낸걸 확인할 수 있다.

Leave a comment