[python] 백준 - 1253 (좋다)
https://www.acmicpc.net/problem/1253
골드4 문제이며, 제한 시간은 2초이다.
해결 과정
투 포인터를 사용해서 좋은 수인지 검사해보고 답을 체크해나가면 되는 문제였다.
풀이
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
arr.sort()
answer = 0
for i in range(n):
num = arr[i]
left, right = 0, n - 1
while left < right:
if left == i:
left += 1
continue
if right == i:
right -= 1
continue
if arr[left] + arr[right] == num:
answer += 1
break
if arr[left] + arr[right] > num:
right -= 1
else:
left += 1
print(answer)느낀점
투포인터의 기본을 물어보는 문제같다. 자기 자신을 포함하면 안되므로 이 조건만 잘 처리하면 되는 문제였다고 생각한다.

댓글
0아직 댓글이 없습니다.