[백준] 11497: 통나무 건너뛰기

JIN·2021년 10월 26일
0

정렬

가장 큰 수를 가운데에 두고 다음 수들을 차례로 양 옆에 둡니다.
왼쪽, 오른쪽 리스트에 두고 각 리스트의 차이를 ll, rr 리스트에 저장합니다.
max(ll), max(rr) 을 구하고 이 둘 중 더 큰 값을 출력합니다.

t = int(input())
for i in range(t):
	n = int(input())
	tmp = list(map(int, input().split()))
	tmp = sorted(tmp, reverse= True)
	# print(tmp)
	right = tmp[::2]
	left = [tmp[0]] +tmp[1::2]
	# print(right)
	# print(left)
	rr = []
	ll = []
	for i in range(1, len(right)):
		rr.append(right[i-1] - right[i])
	for i in range(1, len(left)):
		ll.append(left[i-1] - left[i])
	x = max(rr)
	y = max(ll)
	print(max(x, y))
profile
배우고 적용하고 개선하기

0개의 댓글

관련 채용 정보