얼렁뚱땅 백준 문제풀이

[백준 문제풀이] 얼렁뚱땅 2470 두 용액 풀이

MOSTAR 2022. 3. 24. 21:23

다들 천재인가 어케 그렇게 잘풀지?

 

import sys
n = int(sys.stdin.readline())
array = list(map(int, sys.stdin.readline().split()))
array.sort()

left = 0
right = len(array)-1
low_abs = float('inf')

real_left = 0
real_right = len(array)-1

while (left<right) :
	if low_abs == 0 :
		break
	temp = array[right] + array[left]
	if abs(temp) < abs(low_abs) :
		real_left = left
		real_right = right
		low_abs = abs(temp)
	if temp>0 :
		right = right - 1
	else :
		left = left + 1

print(array[real_left], end = ' ')
print(array[real_right])

답 보고도 ㅎ 빠르게 못함 ㅎ

 

오늘의 배운점

 

abs(~) -> 절댓값 바로 뽑아줌

나는 깡깡이니까 그냥 많이 풀고 문제 유형을 외워야겠다

이건 한 배열에서 두개 더해서 0에 가장 가까운 값 도출하도록 하는 것