1. 문제
https://www.acmicpc.net/problem/2470
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))
'코딩문제풀이 > Baekjoon' 카테고리의 다른 글
[Python_DynamicProgramming] 백준 1912번 : 연속합 (0) | 2021.11.02 |
---|---|
[Python_String] 백준 1427번 : 소트인사이드 (0) | 2021.08.22 |
[Python_Search] 백준 1300 : K번째 수 (0) | 2021.08.21 |
[Python_Search] 백준 12015번 : 가장 긴 증가하는 부분 수열 2 (0) | 2021.08.21 |
[Python_Search] 백준 10816번 : 숫자 카드 2 (0) | 2021.08.19 |