🧠Algorithm/심심풀이 땅콩🥜
심심풀이 땅콩🥜 : 스택(Stack)
4:Bee
2023. 12. 19. 12:27
728x90
알고리즘에서 기본으로 알고 있어야 할 개념 중 하나인 스택은 LIFO의 구조를 띄고 있다. 아래 코드를 통해 구현된 stack과 동작 원리를 이해하자.
class Stack:
def __init__(self) -> None:
self.stack = []
def is_empty(self):
return len(self.stack) == 0
def is_push(self, item):
self.stack.append(item)
def is_pop(self):
if not self.is_empty():
return self.stack.pop()
else:
return None
def peek(self):
if not self.is_empty():
return self.stack[-1]
else:
return None
def size(self):
return len(self.stack)
stack = Stack()
stack.is_push(10)
stack.is_push(20)
stack.is_push(30)
# 현재 stack의 모습
# 30
# 20
# 10
print(stack.is_pop()) # 30 -pop
print(stack.peek()) # 20 - peek
print(stack.size()) # 2
print(stack.is_empty()) # False
728x90