C-log

심심풀이 땅콩🥜 : 스택(Stack) 본문

🧠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
Comments