코딩문제풀이/Baekjoon
[Python_Search] 백준 2470번 : 두 용액
코딩하는 포메라니안
2021. 8. 21. 22:36
1. 문제
https://www.acmicpc.net/problem/2470
2470번: 두 용액
첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00
www.acmicpc.net
2. 풀이 과정
n = int(input())
A = list(map(int, input().split()))
A.sort()
l = 0
r = n-1
result = [A[l], A[r]]
while l < r:
a = A[l] + A[r]
if abs(a) < abs(sum(result)): #절댓값이 제일 작은 값 저장
result = [A[l], A[r]]
if a == 0:
break
elif a < 0: #합이 음수면 0에 가까워지기 위해서 음수의 절댓값을 줄인다.
l += 1
else: #합이 양수면 0에 가까워지기 위해서 양수의 절댓값을 줄인다.
r -= 1
print(*(a for a in result))