State Expansion

재귀와 반복 선택 지도

재귀와 반복은 같은 상태 전개를 다른 방식으로 표현합니다. 종료 조건, 스택 깊이, 방문 순서를 기준으로 선택하면 오답을 줄일 수 있습니다.

State현재 값과 위치
Base Case멈추는 조건
Recursive Call다음 상태 호출
Loop Stack직접 상태 관리
01

종료 조건

재귀는 멈추는 조건이 빠지면 무한 호출이나 스택 초과로 이어집니다.

02

호출 스택

깊이가 입력 크기만큼 커지는지 확인해 위험을 판단합니다.

03

반복 변환

직접 스택이나 큐를 쓰면 호출 깊이를 코드에서 통제할 수 있습니다.

04

순서 검증

DFS처럼 순서가 중요한 문제는 재귀와 반복의 push 순서를 비교합니다.

선택 기준

  • 트리 구조처럼 자연스럽게 하위 문제가 나뉘면 재귀가 읽기 쉽습니다.
  • 입력 깊이가 크거나 제한이 빡빡하면 반복 구현이 더 안전합니다.
  • 둘 중 하나만 고집하지 말고 같은 상태표로 먼저 표현해 봅니다.

위험 신호

no base무한 호출
deep N스택 초과
order방문 순서
stack반복 대안