코딩테스트(파이썬)
백준 파이썬 평균 1546번 문제
winsome99
2022. 11. 7. 02:07
반응형
https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
해당 입력한 점수에 가장 높은 점수 * 100로 바꿔주어 평균을 구하는 문제입니다.
n = int(input()) #과목 수
score = list(map(int, input().split())) #점수 입력
new = 0
for i in range(n):
new += score[i]/max(score)*100 #새로운 점수
print(new/n)
우선 1번째 코드부터 3번째 코드는 가장 높은 점수를 찾는 코드로 먼저 과목의 수를 n으로 선언해주고 점수 입력을 score변수로 지정해준다. list를 사용하여 입력 수만큼 공백을 두고 split() 함수로 입력값을 나눠 준 후 map() 함수를 사용하여 정수 리스트를 만들어줍니다. 그다음 새로운 값을 new라는 변수를 0으로 지정해줍니다.
그다음 for문을 사용하여 입력한 시험 점수를 하나씩 불러와서 score의 첫 번째부터 max(score)인 가장 높은 점수를 나눈 뒤에 100을 곱해준 값을 new에 차례대로 더해줍니다. 더 해준 new들을 과목 수만큼 나눠주면 쉽게 평균값이 나오는 것을 볼 수 있습니다.
반응형