BOJ 3273 - 두 수의 합

folder_open Algorithm / BOJ / silver | date_range / created at

sell #BOJ #3273 #silver #python #파이썬 #코딩테스트 #알고리즘

문제 링크

https://www.acmicpc.net/problem/3273

구현 과정

뭔가 좀 효율적으로 풀지 못한 감이 있긴 하지만.. 처음에 좀 헤매다가 투 포인터 알고 나서 풀었다.

코드

from sys import stdin
input = lambda : stdin.readline().strip()


n = int(input())
seq = sorted(list(map(int, input().split())))
x = int(input())

count = 0
pt1 = 0
pt2 = n - 1
while pt1 != pt2:
    sum = seq[pt1] + seq[pt2]
    if sum <= x:
        if sum == x:
            count += 1
        pt1 += 1
    else:
        pt2 -= 1
print(count)