출처 : 링크텍스트
가장 높이 쌓인 상자를 가장 낮은 상자에 옮기는 간단한 풀이로 해결하였다. 가장 높이 쌓인 상자와 낮은 상자의 인덱스 값을 저장한다. 구한 인덱스 값으로 상자의 갯수를 조절하고 주어진 dump
횟수 만큼 반복한다.
for test_case in range(1, 11):
dump = int(input())
box_list = list(map(int, input().split()))
for _ in range(dump):
max_box = 0
min_box = 0
for i in range(100):
if box_list[max_box] < box_list[i]:
max_box = i
if box_list[min_box] > box_list[i]:
min_box = i
box_list[max_box] -= 1
box_list[min_box] += 1
top = box_list[0]
bot = box_list[0]
for box in box_list:
if top < box:
top = box
if bot > box:
bot = box
result = top - bot
print('#{0} {1}'.format(test_case, result))