[백준 / 1546] 평균


날짜: 2021년 6월 13일
소요 시간: 19분 27초
카테고리: 수학문제
태그: bronze.1, 1546, 파이썬

백준 1546 - 평균

입출력 예시

예제 입력예제 출력
3 
40 80 6075.0
5 
1 2 4 8 1638.75
2 
3 1065.0

내가 적은 코드

import sys

n = input()
new = []
num = list(map(float, sys.stdin.readline().split()))
for i in range(0,len(num)):
    new.append(num[i]/max(num)*100)

print(sum(new)/len(new))

풀이 과정

입력된 값을 numfloat값으로 저장한 뒤 (평균값의 소수점까지 연산하기 위해) 반복문을 통해서 각 원소의 연산을 진행한다.
그 후 원소의 각 연산된 값을 new에 저장 한 뒤
평균값을 구하기 위해 new의 원소의 합을 그 원소의 길이만큼 나눈다.

베스트 코드

n = int(input())
a=list(map(int, input().split()))
m = max(a)
for i in range(n):
    a[i] = a[i]/m*100
print(sum(a)/n)

반성

  • map의 타입과 list의 타입의 개념을 확실히 잡지 못해서 런타임를 내고 시간을 많이 잡아 먹었다.
  • input() 보다 sys.stdin.readline()을 활용하는 연습을 더 많이 해야겠다.




© 2021. by hminkim