Coding Test/BaekJoon_Python

BaekJoon - 1546번: 평균(1차원 배열, PYTHON)

  • -
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)
  • print

정답코드

#시험을 본 과목의 개수 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
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.