[백준/파이썬] 1253번

민정·2023년 12월 24일
0

[백준/파이썬]

목록 보기
198/245
post-thumbnail

📍백준 1253번 문제

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

코드

import sys

input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))

ans = 0
arr.sort()
for i in range(n):
    temp = arr[:i] + arr[i+1:]
    left = 0
    right = len(temp)-1
    while left < right:
        cnt = temp[left] + temp[right]
        if cnt == arr[i]:
            ans += 1
            break
        if cnt > arr[i]:
            right -= 1
        else:
            left += 1
print(ans)

풀이

특정 숫자를 제외한 숫자를 기준으로 배열을 만든다.
이후, 이분탐색을 이용해 '좋다'는 값을 구한다.

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글