[백준] 25945 : 컨테이너 재배치 (Python)

백지원·2023년 9월 25일
1

정답코드

n = int(input())
height = list(map(int, input().split())) # 건물 높이
avg = sum(height)//n # 높이 평균 (소수점 뒤에는 날려)
ans1, ans2 = 0, 0
for h in height:
    if h > avg:
        ans1 += h-avg-1 # 내려야 하는 블록 수
    else:
        ans2 += avg-h # 올려야 하는 블록 수
print(max(ans1, ans2))

풀이

  • 블록들의 평균 높이를 구하여 avg에 저장
  • 반드시 내려야 하는 블록 수를 ans1에 더하고, 반드시 올려야 하는 블록 수를 ans2에 더한다.
  • ans1과 ans2 중 최댓값 출력

0개의 댓글