자기계발
백준
1546 · 평균

백준 1546번 평균

문제

시험 본 과목의 개수 N(1000 이하)과 각 과목 점수(0 이상 100 이하)가 주어진다. 점수 중 최댓값을 M이라 할 때 모든 점수를 점수/M*100으로 고치고, 고친 점수의 평균을 출력한다. 예를 들어 40 80 60이면 75.0이다. 정답과의 절대오차 또는 상대오차가 0.01 이하이면 정답으로 인정한다.

풀이

과목 수 N은 계산에 쓰이지 않는다. 점수는 map과 int로 정수로 바꿔 list로 받고, max()로 최댓값을 먼저 구한다.

고친 점수는 새 리스트 result에 append로 하나씩 담는다. 이 부분을 떠올리지 못해 오래 걸렸다. 평균을 구하는 내장 함수는 없으므로 합계를 항목 수로 나눈다.

N = int(input())
score = list( map( int, input().split() ) ) 
 
M_score = max(score)
 
result = []
 
for i in score:
    result.append( i / M_score * 100 )
 
print(sum(result) / len(result))

출처