Oh My Algorithm
Algorithm Guidecomplexity: O(1) push/pop

스택 (Stack)

마지막에 넣은 것을 가장 먼저 꺼내는 후입선출(LIFO) 구조입니다. 한쪽 끝(top)에서만 삽입·삭제가 일어나며, 함수 호출 스택·실행 취소·괄호 검사·DFS의 뼈대가 됩니다.

01 알고리즘 작동 원리 탐색

Interactive Step-by-Step
TAP OR HOVER
Stack · LIFO
empty

스택 시작. 한쪽 끝(top)에서만 넣고 빼는 후입선출(LIFO) 구조입니다.

Logic Node1 / 9

02 쉽게 이해하기

For Everyone
🔑비유

식당의 접시 더미. 새 접시는 맨 위에 쌓고, 꺼낼 때도 맨 위부터 집습니다.

💡쉽게 말하면

한쪽 끝(top)에서만 넣고 뺍니다.

가장 마지막에 넣은 것이 가장 먼저 나와요(후입선출, LIFO).

📍어디에 쓰나
  • 실행 취소(Ctrl+Z)
  • 브라우저 뒤로 가기
  • 괄호 짝 검사

03 파이썬 구현 코드

스택 (Stack)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.

core_implementation.py
class Stack:
    def __init__(self):
        self.items = []

    def push(self, x):
        self.items.append(x)

    def pop(self):
        if not self.items:
            raise IndexError("stack is empty")
        return self.items.pop()

    def peek(self):
        return self.items[-1] if self.items else None

    def is_empty(self):
        return len(self.items) == 0
Guide Progress0%