포도가게의 개발일지

python 백준 2470번 두 용액 본문

백준

python 백준 2470번 두 용액

grape.store 2021. 8. 15. 20:30
반응형

1. 공유기 설치와 마찬가지로 선형탐색 조건을 먼저 생각해본 후 -> 이진탐색으로 접근

- 특이했던게 양쪽을 좁혀와 경우의 수를 버림으로써 이진탐색이 구현된다는게 신기했음

import sys

num = int(input())
arr = []
result = [0,0]
min_max = 2000000000
for x in map(int,sys.stdin.readline().split()):
    arr.append(x)
arr.sort()
left = 0
right = len(arr)-1
target = 0
while right - left >0:
    if abs(arr[right] + arr[left]) == target:
        result[0] = arr[left]
        result[1] = arr[right]
        break
    if abs(arr[left] + arr[right]) < min_max:
        min_max = abs(arr[left] + arr[right])
        result[0] = arr[left]
        result[1] = arr[right]
    if arr[left] + arr[right]>0:
        right -= 1
    elif arr[left] + arr[right]<0:
        left += 1
print(result[0], result[1])
Comments