본문 바로가기

코딩테스트/BOJ

[백준/파이썬] 2851번: 슈퍼 마리오 (Python)

문제

www.acmicpc.net/problem/2851

 

2851번: 슈퍼 마리오

첫째 줄에 마리오가 받는 점수를 출력한다. 만약 100에 가까운 수가 2개라면 (예: 98, 102) 마리오는 큰 값을 선택한다.

www.acmicpc.net

 

풀이

 - 브루트포스, 완전탐색문제

 

 - 키의 합과 100의 차이값이 가장 작은 값을 구하면 된다

 

코드

arr = []

for i in range(10):
    arr.append(int(input()))

arr2 = arr.copy()

for i in range(1,10):
    arr2[i] += arr2[i-1]
    
minNum, minNumIdx = 100, 0

for j in range(10):
    if abs(arr2[j] - 100) <= minNum:
        minNumIdx = j
        minNum = abs(arr2[j] - 100)
    else: 
        break
        
print(arr2[minNumIdx])