애드혹 문제 케이스 분리: 반례로 검증하는 법
애드혹 문제에서 경우를 나눠야 하는 순간은 예외가 많아서가 아니라 답의 구조가 바뀌기 때문입니다. 구간 안팎과 원형 거리 예시로 좋은 케이스 분리 기준, 억지 분기를 피하는 법, 경계값 반례 검증법까지 intuition-first로 정리합니다.
애드혹 문제에서 경우를 나눠야 하는 순간은 예외가 많아서가 아니라 답의 구조가 바뀌기 때문입니다. 구간 안팎과 원형 거리 예시로 좋은 케이스 분리 기준, 억지 분기를 피하는 법, 경계값 반례 검증법까지 intuition-first로 정리합니다.
애드혹 문제 풀이법의 핵심은 공식을 빨리 떠올리는 일이 아니라 작은 입력 표 작성, 패턴 가설, 반례 검증, 손 시뮬레이션 순서를 지키는 것입니다. 문자열 그룹 관찰과 요세푸스 예시로 그 흐름을 정리합니다.
요세푸스 문제는 처음엔 시뮬레이션이 자연스럽지만, 입력이 커질수록 제거 뒤 남은 구조를 다시 보는 규칙 관찰이 더 중요해집니다. 작은 예시, 점화식, k=2 패턴까지 쉽게 정리합니다.
문자열 뒤집기 최소 횟수 문제를 쉽게 풀이합니다. 왜 답이 min(0 그룹 수, 1 그룹 수)인지, 그리고 왜 이 문제가 그리디처럼 보이지만 본질은 구간 관찰인지 단계적으로 설명합니다.
시뮬레이션 문제 풀이법의 핵심은 구현을 빨리 시작하는 것이 아니라 상태 정의와 한 턴 처리 순서를 먼저 설계하는 것입니다. 이번 글에서는 손으로 따라가는 예시와 Java·Python·C 코드를 함께 정리합니다.
애드혹 알고리즘 문제에서 왜 맞왜틀이 반복되는지, 그리고 반례를 어떤 순서로 찾아야 하는지 정리합니다. 가장 작은 입력, 경계값, 같은 값 반복, 순서 뒤집기 같은 패턴을 실제 예시와 함께 설명합니다.