정렬 -> 이분 탐색으로 두 포인터를 통해 합계를
x
와 비교한다.x
보다 크다면right
커서를 줄이고x
보다 작다면left
커서를 늘려야 한다.
import sys
n = int(sys.stdin.readline().rstrip())
numbers = list(map(int, sys.stdin.readline().rstrip().split()))
numbers.sort()
x = int(sys.stdin.readline().rstrip())
left, right = 0, n-1
cnt = 0
while left < right:
sum = numbers[left] + numbers[right]
if sum > x:
right -= 1
elif sum == x:
cnt += 1
right -= 1
else:
left += 1
print(cnt)