Stack이란 무엇인가
Stack 자료 구조란 LIFO(Last Input First Out) 마지막으로 들어온 데이터가 가장 먼저 나간다
들어올 때는 가장 위에 들어오고 나갈 때는 가장 위에 저장된 것이 나간다
Python을 사용해 구현해보도록 하자
class Stack:
def __init__(self) -> None:
self.items = []
def push(self, val):
self.items.append(val)
def pop(self):
try:
return self.items.pop()
except IndexError:
print("Stack empty")
def top(self):
try:
return self.items[-1]
except IndexError:
print("Stack Empty")
def __len__(self):
return len(self.items)
값을 넣을때는 push() , Python의 append()를 사용한다
뺄 때는 pop() 끝에서 빼면 되므로 python의 pop()을 사용한다
top()은 가장 위에 있는 요소 출력
len()은 Stack의 길이를 알려준다