11497. 통나무 건너뛰기

멍진이·2021년 6월 11일
0

백준 문제풀기

목록 보기
6/36

문제 링크

11497. 통나무 건너뛰기

문제 코드

T = int(input())

for test in range(T):
    N = int(input())

    num_list= list(map(int,input().split()))

    num_list.sort()

    result_list = [0]*N
    checker = True
    idx = 0
    reverse_idx = -1
    for i in range(N):
        if checker:
            checker =False
            result_list[idx] = num_list[i]
            idx+=1
        else:
            checker = True
            result_list[reverse_idx] = num_list[i]
            reverse_idx-=1

    maxist = 0
    for idx in range(N-1):
        tmp = abs(result_list[idx] -result_list[idx+1])
        if tmp >maxist:
            maxist = tmp
    print(maxist)

문제풀이

  • 주어진 숫자 리스트를 우선 정렬한다.
  • 정렬한 순서대로 번갈아가면서 결과리스트의 앞과 뒤에 하나씩 넣는다.
  • 결과 리스트의 인접값중 최대값이 결과가 된다.
profile
개발하는 멍멍이

0개의 댓글