문제 단서가 “최근 것”이면 스택, “먼저 온 것”이면 큐다
출제 문장에서 입출력 방향, 순환 배열, 연산자 처리 단서를 잡으면 구조를 고르기 쉽다.
단서
선택
이유
대표 예
오답 방지
최근 입력부터 처리
Stack
LIFO
함수 호출 복귀, 괄호 검사
큐처럼 앞에서 빼지 않음
도착 순서대로 처리
Queue
FIFO
작업 대기열, BFS
front와 rear를 구분
배열 끝에서 다시 처음으로
Circular queue
인덱스 순환
(rear + 1) % size
full/empty 조건 확인
양쪽에서 삽입/삭제
Deque
front/rear 양끝 사용
양방향 큐
일반 큐보다 연산 범위 넓음
연산자를 만나 계산
Postfix + stack
피연산자 두 개 pop
AB+C*
연산자 우선순위 처리
핵심스택과 큐 문제는 자료의 값보다 “어느 쪽에서 들어오고 나가는가”가 먼저다.