두 포인터는 배열 등의 두 위치를 함께 이동시키며 조건을 만족하는 범위를 찾는 기법이다.
원리
포인터가 한 방향으로만 이동하면 각 원소를 제한된 횟수만 방문할 수 있다. 위치 이동을 정당화하는 정렬 조건이나 단조성이 핵심이다.
예시
정렬된 배열에서 합이 목표값인 두 원소를 찾을 때 양 끝에서 시작한다. 합이 작으면 왼쪽을, 크면 오른쪽을 움직여 후보를 줄인다.
주의할 점
포인터 두 개를 사용했다고 자동으로 O(n)이 되는 것은 아니다. 매번 뒤로 돌아가거나 이동 중 구간 전체를 다시 검사하면 비용이 커진다.