투 포인터 개념
1차원 배열에서 각자 다른 원소를 가리키고 있는 2개의 포인터를 조작해가면서 원하는 값을 찾을 때까지 탐색하는 알고리즘.
리스트에 순차적으로 접근해야 할 때 두개의 포인터의 위치를 기록하면서 처리한다.
동작 방식
1. 시작점과 끝점이 리스트의 양 끝을 가리키도록 한다.
2. 두 포인터가 가르키는 원소의 합이 target sum과 같다면 종료(원하는 값을 찾음)
3. 두 포인터가 가르키는 원소의 합이 target sum보다 작으면 시작점을 1 증가시킨다.
4. 두 포인터가 가르키는 원소의 합이 target sum보다 크면 끝점을 1 감소시킨다.
5. 모든 경우를 확인할 때까지 2~4 과정을 반복한다.
문제에 따라 구현되는 방식이 조금씩 다를 수 있음.
두 포인터가 인덱스(0)을 가리키는것에서 시작하는 문제도 있다
'알고리즘' 카테고리의 다른 글
그리디 알고리즘(탐욕법, Greedy Algorithm) (1) | 2025.02.01 |
---|---|
정렬 알고리즘 종류와 시간 복잡도 (0) | 2025.01.26 |
이진 탐색(Binary Search) (1) | 2025.01.09 |