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))
'코딩문제풀이 > 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 |