Python

[Python] 백준 1546(평균)

땅콩새싹 2021. 8. 31. 00:22
반응형

백준 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/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