본문 바로가기

코린이

백준 파이썬 평균 1546번 문제 본문

코딩테스트(파이썬)

백준 파이썬 평균 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들을 과목 수만큼 나눠주면 쉽게 평균값이 나오는 것을 볼 수 있습니다.

 

반응형
Comments