728x90
문제 분석
점수 최댓값 M
고쳐야 할 모든 점수 => 점수/M*100
고친 모든 점수에 대한 평균 구하기 문제
변수 제약
- N <= 1000
- 현재 성적 <= 100인 양의 정수
- 하나 이상의 과목 값은 0보다 크다
입력1
3
40 80 60
출력1
75.0
입력2
3
10 20 30
출력2
66.666667
출력 매커니즘(예시)
- 입력 [40 80 60]
- 출력과정 [40/80*100 80/80*100 60/80*100] 최댓값 기준 공식 적용
- 새로운 평균 (50+100+75)/3 = 75
유의사항(코드 설계)
- 첫째 줄에 새로운 평균 출력하기
- 실제 정답과 출력값의 절대오차 or 상대오차가 1/100 이하이면 정답
- hint: M을 잘 활용해야 함
사용할 문법
- input
- list(range)
정답코드
#시험을 본 과목의 개수 N
N = int(input())
N_list = []
#시험을 본 실제 성적
N_list = list(map(int, input().split()))
#조작을 위해 필요한 가장 잘 본 시험점수 M
M = max(N_list)
ev = 0
#주의사항: Max값은 가만 두어야 한다는 편견을 버려야 함
for i in range(N):
ev += N_list[i]/M*100
print(ev/N)
728x90
'Coding Test > BaekJoon_Python' 카테고리의 다른 글
BaekJoon - 4344번: 평균은 넘겠지(1차원 배열, PYTHON) (0) | 2022.09.04 |
---|---|
BaekJoon - 8958번: OX퀴즈(1차원 배열, PYTHON) (0) | 2022.09.03 |
BaekJoon - 3052번: 나머지(1차원 배열, PYTHON) (0) | 2022.09.03 |
BaekJoon - 2562번: 최댓값(1차원 배열, PYTHON) (0) | 2022.09.03 |
BaekJoon - 10818번: 최소, 최대(1차원 배열, PYTHON) (0) | 2022.09.03 |