Chapter 4: 스택과 큐
내용 정리
스택
from typing import List class ArrayStack: def __init__(self) -> None: self.stack: List[int] = [] def push(self, value: int) -> None: self.stack.append(value) def pop(self) -> int: if not self.stack: raise IndexError("Stack is empty") return self.stack.pop() def peek(self) -> int: if not self.stack: raise IndexError("Stack is empty") return self.stack[-1]
from typing import Optional class Node: def __init__(self, value: int) -> None: self.value: int = value self.next: Optional["Node"] = None class LinkedListStack: def __init__(self) -> None: self.head: Optional[Node] = None def push(self, value: int) -> None: new_node = Node(value) new_node.next = self.head self.head = new_node def pop(self) -> int: if not self.head: raise IndexError("Stack is empty") value = self.head.value self.head = self.head.next return value def peek(self) -> int: if not self.head: raise IndexError("Stack is empty") return self.head.value
큐
순서의 중요성
스택과 큐가 중요한 이유
생각
Last updated