[BOJ] 4344 평균은 넘겠지

[BOJ] 4344 평균은 넘겠지

문제 링크

이 문제는 학생 수와 점수를 구분하여 담아줬으면 더 쉽게 풀이했을 걸 싶다.

알게 된 점은

  • round() : 반올림
round(value, 2) # 소수 두 번째 자리로 반올림
  • format() : 문자열 포매팅
format(value, ".2f") #소수 두 번째 자리로 반올림
  • f-string
f"{num1:.2f}" #소수 두 번째 자리로 반올림

나의 풀이

C = int(input())

array = [list(map(int, input().split(" "))) for _ in range(C)]

temp = 0
avgs = []
over_count = 0

for i in range(C):
  temp = 0
  for j in range(1, array[i][0]+1):
    temp += array[i][j]
  avgs.append(temp/array[i][0])

for i in range(C):
  over_count = 0
  for j in range(1, array[i][0]+1):
    if(array[i][j] > avgs[i]):
      over_count += 1
  print(str(format(over_count/array[i][0]*100, ".3f"))+"%")


© 2021. All rights reserved.