Python 코딩테스트
구현: 백준 2851 파이썬(Python)
bgeun2
2021. 8. 3. 15:18
반응형
문제:
https://www.acmicpc.net/problem/2851
2851번: 슈퍼 마리오
첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다.
www.acmicpc.net
풀이:
mush = []
for _ in range(10):
mush.append(int(input()))
mario, i = 0, 0
while(i < 10):
prev = mario
current = mario + mush[i]
if(current > 100):
if(abs(100-prev) >= abs(100-current)):
mario = current
break
else:
mario = prev
break
mario += mush[i]
i += 1
print(mario)
반성:
처음에 while문을 무한반복시켜 런타임에러(IndexError)가 발생했다. 에러가 발생한 이유는 버섯 10개를 다 먹어도
100을 넘지 못하는 경우를 생각해 주었지 않기 때문이다.
while문이 i가 10보다 작을때 까지 실행되도록 바꾸어주었고, 정답을 맞힐 수 있었다.
반응형