1208. [S/W 문제해결 기본] 1일차 - Flatten

dannyp0930·2021년 8월 17일
0

SW Expert Academy

목록 보기
2/14
post-thumbnail

출처 : 링크텍스트

1. 풀이 방법

가장 높이 쌓인 상자를 가장 낮은 상자에 옮기는 간단한 풀이로 해결하였다. 가장 높이 쌓인 상자와 낮은 상자의 인덱스 값을 저장한다. 구한 인덱스 값으로 상자의 갯수를 조절하고 주어진 dump 횟수 만큼 반복한다.

2. 코드

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))
profile
Newbie 개발자

0개의 댓글

관련 채용 정보