[백준-11497] 통나무 건너뛰기
문제
코드
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t) :
n = int(input())
tree = list(map(int, input().split()))
# 오름차순으로 정렬
tree.sort()
height = [0] * n
# 인접한 두 통나무 간의 높이의 차가 작아야하므로 정렬한 수를 지그재그로 넣는다.
# 앞뒤앞뒤앞뒤... 순서로
check = 0
for i in range(len(tree)) :
# 인덱스가 짝수일 때는 앞에 넣기
if i % 2 == 0 :
height[check] = tree[i]
check += 1
# 인덱스가 홀수일 때는 뒤에 넣기
else :
chk = -1 * check
height[chk] = tree[i]
maxNum = 0
for j in range(len(height)) :
num = 0
# 맨 뒤와 맨 앞도 인접해있으므로 값 비교
if j > len(height)-2 :
num = abs(height[j] - height[0])
else :
num = abs(height[j] - height[j+1])
maxNum = max(maxNum, num)
print(maxNum)
Author And Source
이 문제에 관하여([백준-11497] 통나무 건너뛰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@malgam/백준-11497-통나무-건너뛰기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)