백준 1546(평균)

https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
코드설명
1
2
3
4
5
6
7
8
9
10
11
12
|
num = int(input())
score = list(map(int, input().split()))
max_score = max(score)
new_score = []
for i in score:
i = i/max_score*100
new_score.append(i)
avg = sum(new_score)/num
print(avg)
|
cs |
num 변수에 총 과목의 개수를 input()으로 받습니다.
score라는 list를 선언해 map() 함수를 사용해 세준이가 받은 기말고사 점수를 한 줄로 입력 받고 list에 저장합니다.
세준이가 받은 기말고사 점수 중 가장 최고점을 찾기 위해 max() 함수를 사용해 max_score 변수에 저장했습니다.
그리고 세준이가 조작 할 점수를 저장해주기 위해 new_score라는 list를 만들어주었습니다.
for 반복문을 통해 score list에 저장된 점수를 하나씩 불러와 점수를 조작해줍니다. (i = i/max_score*100)
조작한 점수를 append() 함수를 통해 new_score list에 하나씩 저장해줍니다.
조작한 점수의 평균을 구하기 위해 sum() 함수를 통해 new_score list에 저장된 값을 모두 더하고
처음에 받았던 과목의 개수 num값으로 나누어 평균을 구하고 출력합니다.
'Python' 카테고리의 다른 글
[Python] 백준 2839(설탕 배달) (0) | 2021.08.02 |
---|---|
[Python] 백준 1157(단어 공부) (0) | 2021.08.02 |
[Python] 백준 8958(OX퀴즈) (0) | 2021.07.29 |
[Python] 백준 4344(평균은 넘겠지) (0) | 2021.07.29 |
[Python] 백준 1110(더하기 사이클) (0) | 2021.07.25 |