백준 1546: 평균 : 파이썬

태훈입니다·2022년 11월 30일
0

코테 풀이

목록 보기
17/34

정답 코드:

N = int(input())
a = list(map(int,input().split()))
sum = 0
for i in a:
    sum += i / max(a) * 100
    
print(sum/N)

코드 풀이:

과목 수 N을 입력 받고,
a배열에 과목 점수를 넣는다,
초기 값 sum을  0 으로 선언하고
반복문을 통해 과목 점수들을 a배열 최댓값으로 나누고 * 100을 해준뒤
과목수로 나눠주면 문제에서 원하는 평균값을 얻을 수 있다!

효율적인 코드:


N = int(input())
a = list(map(int,input().split()))

print((sum(a)/max(a)*100)/N)
 굳이 sum과 반복문 없이 , 수학 능력으로 print에 바로 문제에서 원하는
 결과를 도출할 수 있다.
 sum(a)는 a배열의 모든 값을 합쳐주는데, 이걸 이용해서
 sum(a)를 과목 최고 점수로 나눠준 뒤, 100을 곱하면 첫 코드의 반복문 까지의 값과 
 같은 값을 얻을 수 있다. 이걸 N으로 나눠주면 더 간편한 해답이 된다!
    
    
    
profile
개발 공부를 하고 있는 비전공자입니다!

0개의 댓글