[백준 11497] 통나무 건너뛰기.py
문제 이해하기
⦁ 양 옆의 수와 차이값을 최대한 적게 만들기
핵심
⦁ 큰 값을 가운데에 놓고 그 다음 큰 값을 옆에 두기
소스코드
test = int(input())
for _ in range(test):
n = int(input())
num = list(map(int, input().split()))
num.sort()
result = 0
for i in range(2, n):
result = max(result, abs(num[i] - num[i-2]))
print(result)
처음에는 큰 수를 가운데에 놓는 거 부터 차례대로 배열을 완성한 다음에 차이값을 구했다. 스멀스멀 불길한 기운이 일었지만... 역시 런타임 에러가 났다.😭😭
머리를 싸매고...
해답을 찾았다.
[1, 3, 5, 8, 10]이라 했을 경우 위에 핵심에서 말한 부분과 같이 정리하면 [1, 5, 10, 8, 3] 으로 된다.
차이값은 |1-5|, |5-10|, |10-8|, |8-3|이 된다.
이는 원래 리스트에서 두 칸씩 뛰어 차이값을 계산한 것과 같다.
🎈집중해서 생각하자!!!!!!
Author And Source
이 문제에 관하여([백준 11497] 통나무 건너뛰기.py), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eunhe2322/백준-11497-통나무-건너뛰기.py저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)