https://www.acmicpc.net/problem/2467
풀이
투 포인터 알고리즘으로 문제를 풀어주었습니다.
정렬된 용액의 값들이 들어오기에 따로 정렬해줄 필요는 없습니다.
투포인터 알고리즘
https://sunghyun98.tistory.com/25
코드
# 2467번 용액
import sys
n = int(input())
liquid = list(map(int, input().split()))
start = 0
end = n-1
closeToEnd = sys.maxsize
ans = [0,0]
while start < end:
total = liquid[start] + liquid[end]
if abs(total) < closeToEnd:
closeToEnd = abs(total)
ans[0], ans[1] = liquid[start], liquid[end]
elif total > 0:
end -=1
else:
start += 1
print(*ans)
출력결과
'백준 > 투 포인터' 카테고리의 다른 글
[백준][Python] 1253번 좋다 - 코팩 (0) | 2023.08.20 |
---|---|
[백준][Python] 14921번 용액 합성하기 - 코팩 (0) | 2023.08.14 |
[백준][Python] 3649번 로봇 프로젝트 - 코팩 (0) | 2023.08.11 |
[백준][Python] 2473번 세 용액 - 코팩 (0) | 2023.08.10 |
[백준][Python] 2470번 두 용액 - 코팩 (0) | 2023.08.09 |