투포인터 - 1253번: 좋다

jisu_log·2025년 6월 19일

알고리즘 문제풀이

목록 보기
47/105




n = int(input())
list = list(map(int, input().split()))

cnt = 0
list.sort()

for idx, num in enumerate(list):
    
    left = 0
    right = n - 1

    while left < right:
        if left == idx:
            left += 1
            continue # 인덱스 변경했으므로 다시 while 조건 확인해야함
        if right == idx:
            right -= 1
            continue
        
        sum = list[left] + list[right]

        if sum == num:
            cnt += 1
            break
        elif sum < num:
            left += 1
        else:
            right -= 1


print(cnt)

0개의 댓글