배울 내용 바로가기
자료구조·알고리즘 배울 내용
stack·queue·deque처음 배우는 사람용 · 문장을 다듬는 중

스택·큐·덱의 discipline과 추적

스택·큐·덱을 타입 이름이나 O(1) 표로 암기하지 않고 제거 순서·허용 endpoint·empty/full·boundedness 계약을 먼저 봉인한 뒤 array·linked·ring·adaptor 표현, monotonic discipline, BFS frontier와 production queue 경계를 operation trace로 검증한다.

작은 수업
72
바로 풀어볼 수 있는 문제
8 / 576
직접 움직이는 그림
1 / 72
나중에 다시 풀기
1일 · 7일 · 30일 뒤
01

모든 작은 수업이 같은 순서로 이어져요

보고, 해보고, 내 말로 설명하는 열두 단계

먼저 골라 보고, 직접 해보고, 생각과 달라진 첫 곳을 찾아요. 한 가지를 바꿔 다시 해본 뒤 새로운 생활 장면에서도 같은 생각을 쓸 수 있는지 확인해요.

VAIRODE의 열두 번 작은 배움 순서오늘 할 일을 보고, 먼저 생각하고, 그림으로 이해하고, 직접 해본 뒤, 막힌 곳을 고치고 새 문제에서 다시 확인하는 학습 흐름입니다.01오늘 할 일왜 배우는지02먼저 떠올리기이미 아는 것03그림으로 보기어떻게 움직이나04먼저 골라보기하기 전 생각05직접 해보기무엇이 보이나06막힌 곳 찾기처음 다른 곳07하나 바꿔보기한 가지08내가 만들기직접 완성09다시 확인하기새 문제로 확인10내 말로 설명한 문장 기록11생활에 써보기새로운 장면12나중에 다시1·7·30일
  1. 01오늘 할 일왜 배우는지
  2. 02먼저 떠올리기이미 아는 것
  3. 03그림으로 보기어떻게 움직이나
  4. 04먼저 골라보기하기 전 생각
  5. 05직접 해보기무엇이 보이나
  6. 06막힌 곳 찾기처음 다른 곳
  7. 07하나 바꿔보기한 가지
  8. 08내가 만들기직접 완성
  9. 09다시 확인하기새 문제로 확인
  10. 10내 말로 설명한 문장 기록
  11. 11생활에 써보기새로운 장면
  12. 12나중에 다시1·7·30일
02

72개 작은 수업으로 나눴어요

배울 내용 골라 보기

각 작은 수업에는 그림, 자주 헷갈리는 곳, 막혔을 때 볼 도움과 여덟 연습 문제가 있어요. 먼저 그림으로 이해하고, 따라 해보고, 혼자 풀고, 내가 한 일을 남기는 순서로 열립니다.

  1. 01

    학습 자료와 연습 문제 준비 중

    ADT discipline과 저장 표현 분리

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  2. 02

    학습 자료와 연습 문제 준비 중

    front·back·top endpoint 어휘

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  3. 03

    학습 자료와 연습 문제 준비 중

    operation stream 관찰 계약

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  4. 04

    학습 자료와 연습 문제 준비 중

    empty·underflow 계약

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  5. 05

    학습 자료와 연습 문제 준비 중

    bounded capacity와 overflow 정책

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  6. 06

    학습 자료와 연습 문제 준비 중

    logical order와 물리 배치 분리

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  7. 07

    학습 자료와 연습 문제 준비 중

    discipline workload와 연산 혼합

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  8. 08

    학습 자료와 연습 문제 준비 중

    array·linked·ring·adaptor·synchronized 분류

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  9. 09

    학습 자료와 연습 문제 준비 중

    순서·경계·비용 선택 행렬

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  10. 10

    학습 자료와 연습 문제 준비 중

    LIFO stack 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  11. 11

    학습 자료와 연습 문제 준비 중

    push 상태 전이

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  12. 12

    학습 자료와 연습 문제 준비 중

    pop·peek와 underflow

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  13. 13

    학습 자료와 연습 문제 준비 중

    array-backed stack top index

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  14. 14

    학습 자료와 연습 문제 준비 중

    linked stack head/top

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  15. 15

    학습 자료와 연습 문제 준비 중

    구분자 matching stack

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  16. 16

    학습 자료와 연습 문제 준비 중

    명시적 frame과 iterative traversal

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  17. 17

    학습 자료와 연습 문제 준비 중

    두 stack undo·redo 계약

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  18. 18

    학습 자료와 연습 문제 준비 중

    stack 표현 선택 실험실

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  19. 19

    학습 자료와 연습 문제 준비 중

    FIFO queue 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  20. 20

    학습 자료와 연습 문제 준비 중

    enqueue·dequeue 상태 전이

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  21. 21

    학습 자료와 연습 문제 준비 중

    front·back과 false empty 방지

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  22. 22

    학습 자료와 연습 문제 준비 중

    linear array queue의 공간 drift

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  23. 23

    학습 자료와 연습 문제 준비 중

    linked queue front/back

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  24. 24

    학습 자료와 연습 문제 준비 중

    두 stack으로 queue 구현

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  25. 25

    학습 자료와 연습 문제 준비 중

    producer-consumer 논리 계약

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  26. 26

    학습 자료와 연습 문제 준비 중

    bounded queue와 backpressure

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  27. 27

    학습 자료와 연습 문제 준비 중

    queue 표현 선택 실험실

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  28. 28

    학습 자료와 연습 문제 준비 중

    circular buffer 좌표 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  29. 29

    학습 자료와 연습 문제 준비 중

    modulo·wraparound 계산

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  30. 30

    학습 자료와 연습 문제 준비 중

    ring empty/full 구별

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  31. 31

    학습 자료와 연습 문제 준비 중

    ring enqueue/dequeue wrap trace

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  32. 32

    학습 자료와 연습 문제 준비 중

    deque 네 endpoint operation

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  33. 33

    학습 자료와 연습 문제 준비 중

    bounded deque discard·reject 정책

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  34. 34

    학습 자료와 연습 문제 준비 중

    deque rotation 의미와 비용

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  35. 35

    학습 자료와 연습 문제 준비 중

    deque indexing과 비연속성

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  36. 36

    학습 자료와 연습 문제 준비 중

    ring·deque 선택 실험실

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  37. 37

    학습 자료와 연습 문제 준비 중

    monotonic stack 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  38. 38

    학습 자료와 연습 문제 준비 중

    next greater 원소 해결 trace

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  39. 39

    학습 자료와 연습 문제 준비 중

    previous smaller 경계

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  40. 40

    학습 자료와 연습 문제 준비 중

    histogram span stack

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  41. 41

    학습 자료와 연습 문제 준비 중

    monotonic deque 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  42. 42

    학습 자료와 연습 문제 준비 중

    sliding-window maximum

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  43. 43

    학습 자료와 연습 문제 준비 중

    duplicate·equality 정책

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  44. 44

    학습 자료와 연습 문제 준비 중

    stale index eviction 순서

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  45. 45

    학습 자료와 연습 문제 준비 중

    monotonic pattern 증명·반례

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  46. 46

    학습 자료와 연습 문제 준비 중

    BFS frontier FIFO 불변식

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  47. 47

    학습 자료와 연습 문제 준비 중

    BFS mark-on-enqueue

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  48. 48

    학습 자료와 연습 문제 준비 중

    BFS layer·distance 원장

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  49. 49

    학습 자료와 연습 문제 준비 중

    multi-source BFS queue 초기화

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  50. 50

    학습 자료와 연습 문제 준비 중

    DFS stack과 BFS queue 비교

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  51. 51

    학습 자료와 연습 문제 준비 중

    FIFO scheduling과 fairness 경계

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  52. 52

    학습 자료와 연습 문제 준비 중

    bounded worker queue와 overload

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  53. 53

    학습 자료와 연습 문제 준비 중

    work-stealing deque 개념 경계

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  54. 54

    학습 자료와 연습 문제 준비 중

    traversal·scheduling 선택 실험실

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  55. 55

    학습 자료와 연습 문제 준비 중

    Python deque endpoint·rotate·maxlen

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  56. 56

    학습 자료와 연습 문제 준비 중

    Python queue blocking·task·shutdown

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  57. 57

    학습 자료와 연습 문제 준비 중

    C++ stack·queue container adaptor

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  58. 58

    학습 자료와 연습 문제 준비 중

    C++ deque 비용·무효화·비연속성

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  59. 59

    학습 자료와 연습 문제 준비 중

    Java Deque exception·sentinel method pairs

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  60. 60

    학습 자료와 연습 문제 준비 중

    Java ArrayDeque null·thread·fail-fast 경계

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  61. 61

    학습 자료와 연습 문제 준비 중

    Rust VecDeque ring·slice·contiguity

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  62. 62

    학습 자료와 연습 문제 준비 중

    교차 언어 empty·full·concurrency mapping

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  63. 63

    학습 자료와 연습 문제 준비 중

    공식 source와 production claim gate

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  64. 64

    대표 체험 수업

    Gold 64상태 discipline trace 감사실

    8 바로 풀 문제 · 자주 헷갈리는 곳 3개 · 직접 움직여 보는 그림 · 먼저 알면 좋은 수업 1

  65. 65

    학습 자료와 연습 문제 준비 중

    AI discipline·성능 주장 감사

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  66. 66

    학습 자료와 연습 문제 준비 중

    독립 model·metamorphic trace test

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  67. 67

    학습 자료와 연습 문제 준비 중

    IOI 2025 stack·queue·BFS bridge

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  68. 68

    학습 자료와 연습 문제 준비 중

    학교·국가자격 stack·queue bridge

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  69. 69

    학습 자료와 연습 문제 준비 중

    공개 platform에서 자체 trace로 전이

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  70. 70

    학습 자료와 연습 문제 준비 중

    네 언어 discipline 전이

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  71. 71

    학습 자료와 연습 문제 준비 중

    1·7·30일 낯선 discipline 재설계

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

  72. 72

    학습 자료와 연습 문제 준비 중

    증거 기반 discipline 결정 memo

    8 연습 문제 틀 · 자주 헷갈리는 곳 3개 · 한눈에 보는 그림 · 먼저 알면 좋은 수업 1

03

마지막에 혼자 해 보는 도전

LIFO stack, FIFO queue, double-ended deque, bounded circular deque의 네 discipline을 push/pop, enqueue/dequeue, mixed-end, underflow/overflow·wrap의 네 trace와 empty/singleton, capacity-boundary, multi-wrap/large의 네 scale로 조합한 64상태 discipline trace audit lab을 완성한다.

실제와 닮은 상황

undo history, print queue, bounded telemetry ring, BFS frontier와 worker handoff가 섞인 architecture review에서 wrong-end operation, false empty/full, wrap error, duplicate frontier, stale monotonic candidate와 AI가 만든 O(1)·thread-safe·fair 단정을 독립 model로 감사한다.

글이나 답을 만들어 주는 도구의 도움을 받았다면

AI가 제안한 ADT·container·complexity·overflow·thread-safety 설명을 claim 단위로 표시하고, AI 사용 전에 사람이 봉인한 operation grammar·expected return·logical sequence와 AI 없이 통과한 미공개 transfer evidence를 별도 제출한다.

마지막에 완성할 것

  • operation grammar·removal order·endpoint·capacity·failure policy를 고정한 versioned discipline contract
  • 64상태의 expected return·logical sequence·top/front/back·size·wrap·cost·boundary disposition matrix
  • Python·C++·Java·Rust concrete API와 N-A·wrapper-required·blocking·contiguity·thread 차이를 기록한 source-level ledger
  • SQ64 여덟 공개 자기검토 명세, independent model·mutant report와 accept·revise·reject human decision memo

다 했는지 확인하는 기준

  • stack·queue·deque의 removal order를 storage representation보다 먼저 고정하고 duplicate identity를 포함한 trace로 검증한다.
  • empty·singleton·full·wraparound에서 top·front·back·head·tail·size·capacity 불변식과 반환·exception·block·drop 결과를 확인한다.
  • end operation뿐 아니라 transfer·scan·eviction·rotation·wait·duplicate frontier와 각 원소의 aggregate work를 포함한다.
  • monotonic candidate의 strict/equality·expiry invariant와 BFS mark-on-enqueue·distance layer를 independent oracle로 검증한다.
  • 64상태 추상 lab을 언어별 타입·thread safety·memory layout·성능 보장으로 표현하지 않고 SQ55~SQ63과 공개 문제에서 API 차이를 명시한다.
  • wall-clock과 외부 accepted·rating·수료 기록을 correctness·숙련 gate로 사용하지 않고 공식 근거·독립 logical model·hidden boundary fixture를 통과한다.
  • priority queue·heap, lock-free implementation, distributed delivery semantics, IOI·Cambridge·정보처리기사 전체 coverage와 대회·시험·취업 결과를 주장하지 않는다.