백준(Python) 풀이/수학

백준(Python) 4344번 평균은 넘겠지 풀이

개발윗미 2021. 9. 29. 19:57

Python으로 구현한 4344번 평균은 넘겠지 문제 풀이입니다.

 

https://www.acmicpc.net/problem/4344

 

4344번: 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

www.acmicpc.net


c = int(input())

for _ in range(c) :
  data = list(map(int, input().split()))
  avg = sum(data[1:]) / data[0]
  count = 0

  for i in range(1, len(data)) :
    if data[i] > avg :
      count += 1

  result = count / data[0] * 100
  print('%.3f'% result+'%')

 

리스트 형식으로 data에 각 테스트 케이스마다 학생의 수와 n명의 점수를 입력받고 평균값을 먼저 구한다.

 

평균 값은 입력받은 리스트에서 두번째 원소(1번째)부터 마지막 원소까지의 합을 구한 뒤 첫번째 원소(0번째)로 나눈다.

 

그 후 반복문을 통해 첫번째 원소부터 하나씩 확인하여 해당 원소값이 평균보다 클 경우 count를 1씩 증가시킨다.

 

최종적으로 변수 result에 평균을 넘는 학생들의 비율을 구해 출력 시 소수점 셋째 자리까지 출력하도록 한다.