
[알고리즘] 투포인터(Two Pointer) 알고리즘
·
Algorithm/KBro Study
투포인터 알고리즘 리스트나 배열에 순차적으로 접근해야 할 때, 두 개의 점의 위치를 기록하면서 처리하는 알고리즘 1. 원리 1. 시작점과 끝점이 첫번째 원소의 인덱스를 가르키도록 한다. 2. 목표값 보다 시작점 인덱스부터 끝점의 인덱스까지의 결과값이 작으면 끝점(end)를 1 증가시킨다. 3. 목표값 보다 시작점 인덱스부터 끝점의 인덱스까지의 결과값이 크거나 같으면 시작점(start)를 1 증가시킨다. 4. 모든 경우를 확인할 때가지 2~3번 과정을 반복한다. 2. 예제 예제를 통해 알아보자. 투포인터 알고리즘의 대표적인 문제인 특정한 합을 가지는 부분 연속 수열 찾기로 알아보자. 아래와 같은 수열이 있다. 여기서 연속되는 수의 합이 5 일때의 개수를 구해보자. 투포인터 알고리즘을 사용하면 다음과 같은 ..