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

Jonie Kwon·2022년 6월 4일
0
post-thumbnail
post-custom-banner


https://www.acmicpc.net/problem/11497

풀이

  • 정렬한 뒤 양 끝에서 중앙까지 홀/짝수번마다 번갈아가며 값을 채워나가면 인접한 통나무끼리의 차이를 최소화 할 수 있다.

코드

import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
    n = int(input())
    l = list(map(int, input().split()))
    l.sort()
    level = [0] * n
    for i in range(n):
        if i % 2 == 0:
            level[i // 2] = l[i]
        else:
            level[- i // 2] = l[i]
    answer = 0
    for i in range(n):
        answer = max(answer, abs(level[i] - level[i - 1]))
    print(answer)
profile
메모하는 습관
post-custom-banner

0개의 댓글