Hikenny25

1일차 - Flatten 본문

SW Expert Academy/Programming - Intermediate

1일차 - Flatten

hikenny 2023. 12. 11. 10:08
def max_valueandindex():
    vmax, vidx = 0, 0
    for i in range(100):
        if height[i] > vmax:
            vmax = height[i]
            vidx = i
    
    return vmax, vidx

def min_valueandindex():
    vmin, vidx = 101, 0
    for i in range(100):
        if height[i] < vmin:
            vmin = height[i]
            vidx = i
    
    return vmin, vidx

def is_flatten():
    subtract = max(height) - min(height)
    
    if subtract <= 1:
        return True
    else:
        return False

ans = list()
for _ in range(10):
    dump_number = int(input())
    height = list(map(int, input().split()))

    for i in range(dump_number):
        if is_flatten():
            ans.append(max(height) - min(height))
            break

        _, max_idx = max_valueandindex()
        _, min_idx = min_valueandindex()
        height[max_idx] -= 1
        height[min_idx] += 1

        if i == dump_number-1:
            ans.append(max(height) - min(height))

for i in range(10):
    print(f"#{i+1} {ans[i]}")

 

어렵지 않은 리스트 구현 문제이다.............!

'SW Expert Academy > Programming - Intermediate' 카테고리의 다른 글

2일차 - Ladder1  (1) 2023.12.11
2일차 - Sum  (1) 2023.12.11
1일차 - View  (1) 2023.12.10
1일차 - 최빈수 구하기  (0) 2023.12.10
5일차 - 미로  (0) 2023.12.10
Comments