투포인터
pair 후보
1
3
5
8
10
12
확인 버린 왼쪽 값은 어떤 오른쪽과도 답이 될 수 없는가?
반례 정렬이 깨지면 이 제거가 성립하지 않는다.
경계를 움직인 뒤에도 답 후보가 어디에 남아 있는지 말할 수 있어야 종료 조건과 반환값이 안전하다.
ok(mid) 뒤에도 답이 남은 구간에 포함되는가?| 마지막 질문 | 통과 기준 | 실패 신호 |
|---|---|---|
| 무엇을 버렸나 | 버린 후보가 답이 아님을 전제에서 설명할 수 있음 | “그냥 포인터를 옮긴다”만 남음 |
| 무엇을 반환하나 | 종료 후 남은 경계가 답 후보를 가리킴 | lo, hi, mid 중 무엇을 반환할지 흔들림 |
| 반례가 있나 | 비정렬, 음수, 비단조 입력에서 사용 금지를 설명할 수 있음 | 경계가 움직이지만 후보 보존이 깨짐 |