투 포인터 알고리즘 (Two Pointer Algorithm)배열이나 리스트에서 '두 개의 포인터'를 사용하여 '특정 조건을 만족하는 부분 구간'을 효율적으로 탐색하는 알고리즘이다. 일반적으로 배열이나 리스트가 '정렬되어 있을 때' 사용한다.투 포인터 알고리즘은 보통은 왼쪽 포인터와 오른쪽 포인터를 사용하며, 이들은 각각 탐색 범위의 시작과 끝을 가리킨다.또는 동일한 시점을 기점으로 왼쪽 포인터를 고정한 상태에서 오른쪽 포인터를 이동하고, 조건에 따라 왼쪽 포인터도 이동하며 탐색하는 방식을 가진다.해당 알고리즘은 탐색 범위 내에서 특정 조건을 만족하는 요소를 찾거나, 조건을 만족하는 부분 배열의 길이 등을 계산하는 데 사용될 수 있다. 투 포인터 수행 단계배열 또는 리스트의 시작 위치에 첫 번째 포인터와..
투 포인터 알고리즘
문제n개의 서로 다른 양의 정수 a₁, a₂, ..., an으로 이루어진 수열이 있다.ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x(1 ≤ i 입력첫째 줄에 수열의 크기 n이 주어진다. 다음 줄에는 수열에 포함되는 수가 주어진다. 셋째 줄에는 x가 주어진다.(1 ≤ n ≤ 100000, 1 ≤ x ≤ 2000000) 출력문제의 조건을 만족하는 쌍의 개수를 출력한다. 입출력 예제 알고리즘❓ 풀어내기❗️1. 입력받은 숫자를 배열로 받는다.2. 배열을 정렬한다.3. 시작점 = 0, 끝점 = n - 1로 설정한 뒤 두 점에 위치한 원소끼리 더하며, 각 각 +1, -1 씩 인덱스를 옮겨간다.4. 위의 과정을 거치며 두 원소의 합이 X..