본문 바로가기

백준 문제풀이

2023.01.18

> 4344번

 처음에 

N = int(input())
for i in range(N):
  grades = list(map(int, input().split()))
  students_number = grades[0]
  grades.remove(students_number)
  
  average = sum(grades) / students_number
  n = 0
  
  for i in grades:
    if i > average:
      n = n + 1
      
  rate = round(n/students_number*100,3)
  print('{}%'.format(rate))

이런 식으로 코드를 짜서 계속 예제 문제의 정답인 40.000%가 아닌 40.0%가 나와 난항을 겪었다.

 코드를

N = int(input())
for i in range(N):
  grades = list(map(int, input().split()))
  students_number = grades[0]
  grades.remove(students_number)
  
  average = sum(grades) / students_number
  n = 0
  
  for i in grades:
    if i > average:
      n = n + 1
      
  rate = round(n/students_number*100,3)
  print('{:.3f}%'.format(rate))

로 고치고 나니 문제가 해결되었다.

'백준 문제풀이' 카테고리의 다른 글

2023.01.06  (0) 2023.01.19
2023.01.04  (0) 2023.01.05