동캄의 코딩도장

백준 2470 [두 용액] 파이썬 본문

코테/BOJ

백준 2470 [두 용액] 파이썬

동 캄 2022. 5. 24. 11:24

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

 

2470번: 두 용액

첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00

www.acmicpc.net

# 백준 2470 두 용액
N = int(input())
lst = list(map(int, input().split()))
lst.sort()
i = 0
j = len(lst)-1
answer = [0, 0]
diff = 10**10
while i < j:
    mixed = lst[i]+lst[j]
    if abs(mixed) < diff:
        diff = abs(mixed)
        answer[0] = lst[i]
        answer[1] = lst[j]
        if diff == 0:
            break
    elif mixed > 0:
        j -= 1
    elif mixed < 0:
        i += 1

print(*answer)

그리디하게 문제를 해결하였다.

'코테 > BOJ' 카테고리의 다른 글

백준 2251 [물통] 파이썬  (0) 2022.05.26
백준 2636 [치즈] 파이썬  (0) 2022.05.24
백준 11758 [CCW] 파이썬  (0) 2022.05.20
백준 2589 [보물섬] 파이썬  (0) 2022.05.20
백준 14981 [톱니바퀴] 파이썬  (0) 2022.05.19