[백준/파이썬] 2851번 슈퍼 마리오 풀이

업데이트:



문제 정보


풀이

문제

버섯 점수를 순서대로 더할 때 합이 100에 가장 가까운 값을 구하는 문제입니다.

코드

mushrooms = [int(input()) for _ in range(10)]
s = [-100]
for i in range(1, 11):
    s.append(sum(mushrooms[0:i]))
for i in range(1, 11):
    if s[i] >= 100 or i == 10:
        print(s[i] if (s[i]-100)**2 <= (s[i-1]-100)**2 else s[i-1])
        break

설명

누적합 배열을 만들고 100 이상이 되는 첫 지점에서 이전 값과 현재 값을 비교해 더 가까운 값을 선택합니다.



댓글남기기