문제
작성한 코드
import sys
input = sys.stdin.readline
N = int(input())
subjects = list(map(int, input().split()))
M = max(subjects)
re_sub = list()
for i in range(N):
re_sub.append((subjects[i]/M)*100)
avg = sum(re_sub)/len(re_sub)
print(avg)
- sys.stdin.readline을 input에 할당하여 사용하였다.
- input()으로 문자를 입력받고 int형으로 형변환하여 N에 저장한다. (N은 시험 본 과목의 개수)
- input()으로 문자를 입력받고, split()으로 구분하여, int형으로 형변환해서 map()으로 list인 subjects에 각각 할당해준다.
- list인 subjects의 최대값을 M에 저장한다.
- 문제에서 제시한 계산법인 점수/M*100으로 다시 계산한 list를 생성하기 위해 re_sub를 list로 선언하였다.
- 반복문 for문을 사용하여 위의 계산법으로 계산한 값을 append()로 차례대로 추가한다.
- re_sub의 전체 값들의 평균을 구하기 위해서 re_sub의 합(sum)을 re_sub의 개수(len)으로 나누어 avg에 저장한다.
- print()를 통해 avg의 값을 출력한다.
'💻 코딩테스트 > 백준' 카테고리의 다른 글
백준 [4344] - 평균은 넘겠지 (0) | 2022.08.09 |
---|---|
백준 [8958] - OX퀴즈 (0) | 2022.08.09 |
백준 [3052] - 나머지 (0) | 2022.08.08 |
백준 [2577] - 숫자의 개수 (0) | 2022.08.08 |
백준 [2562] - 최댓값 (0) | 2022.08.08 |