Stk

DATA STRUCTURE

스택 (Stack)

push와 pop, 두 가지 연산만으로 마지막에 넣은 값을 가장 먼저 꺼내는 LIFO(Last In, First Out) 구조를 확인하세요. 함수 호출, 실행 취소(Undo), 괄호 검사 같은 실제 시나리오를 단계별로 재생하거나, 직접 값을 넣고 빼며 규칙을 몸으로 익힐 수 있습니다.

재생 버튼을 누르거나 다음 단계 버튼으로 스택 연산을 시작하세요.

push 0회 · pop 0회

1 / 1

속도
스택 내부 값 최상단 (TOP) 방금 push된 값 pop 실패 (언더플로우)

PSEUDOCODE

push(value):  array.append(value)pop():  if array가 비어있음: return 오류 (언더플로우)  value ← array.pop()  return value

어떻게 동작하나요

스택은 마지막에 넣은 데이터가 가장 먼저 나오는 LIFO(Last In, First Out) 구조입니다. push는 맨 위에 값을 하나 쌓고, pop은 맨 위 값 하나만 꺼내 제거합니다. 중간에 있는 값에는 직접 접근할 수 없다는 제약이 오히려 "가장 최근 것부터 되돌린다"는 문제 — 함수 호출 스택, 실행 취소(Undo), 괄호 짝 검사 — 를 자연스럽게 표현합니다. 스택이 비어 있을 때 pop을 시도하면 꺼낼 값이 없는 "언더플로우" 상태가 됩니다.

시간·공간 복잡도

push
O(1)
pop
O(1)
peek (최상단 조회)
O(1)
임의 위치 접근
불가 (전부 pop 필요)
공간 복잡도
O(n)

모든 연산이 맨 위 한 곳에서만 일어나기 때문에 push/pop/peek 모두 O(1) — 중간 값에 접근하려면 그 위의 값을 전부 pop해야 합니다.

다른 자료구조(큐·연결 리스트·해시 테이블·힙·이진 탐색 트리)도 이어서 시각화할 예정입니다 — Algorithm 코스로 돌아가기

1:1 정원제 · 상시 모집

자료구조도 손으로 직접 다뤄봐야 오래 남습니다

당신에게 맞는 커리큘럼은 1:1 상담에서부터 시작됩니다.