본문 바로가기
알고리즘/그리디

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

by 성현0409 2022. 3. 24.

문제

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

 

11497번: 통나무 건너뛰기

남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이

www.acmicpc.net

결과

풀이

import sys
input = sys.stdin.readline
t = int(input().strip())
for i in range(t):
    n = int(input().strip())
    l = list(map(int, input().strip().split()))
    l.sort()

    a = []

    while l:
        a.insert(0, l.pop())
        if l:
            a.append(l.pop())

    answer = 0

    for j in range(len(a)-1):
        answer = max(answer, abs(a[j]- a[j+1]))

    print(answer)
​

 첫번째와 마지막의 수도 비교해야 하므로 리스트의 가운데값이 가장 높은 수가 올 수 있도록 정렬해준 뒤 하나하나 다음수와 비교하면서 max값을 찾아주었다.

'알고리즘 > 그리디' 카테고리의 다른 글

[백준][python] 9009 피보나치  (0) 2022.03.31
[백준][python] 1449 수리공 항승  (0) 2022.03.21
[백준][python] 16953 A → B  (0) 2022.03.17