T = int(input())
for tc in range(1, T + 1):
arr = list(map(int, input().split()))
N = arr[0]
scores = arr[1:]
# 평균
s1 = 0
for i in scores:
s1 += i
ave = s1 / N
# 평균을 넘는 학생 비율
count = 0
ratio = 0
for i in scores:
if i > ave:
count += 1
ratio = count/N*100
# 소수점 출력
print(f'{ratio:.3f}%')
🎈 소수점 출력시 문자열 포맷팅으로 처리하기!!
처음에는 round()로 하려고 했지만, round() 함수는 끝자리가 0이면 출력을 하지 않았습니다ㅠㅠ
위의 문제의 출력예제의 첫째 줄을 보면 40%인 경우에도 소수점 셋째 자리(40.000%)까지 출력해야 하기에 문자열 포맷팅으로 처리해야 합니다!
'알고리즘 문제 풀기 > 백준(Baekjoon)' 카테고리의 다른 글
[백준 알고리즘] 2851. 슈퍼마리오 _ 파이썬 (2) | 2021.02.13 |
---|---|
[백준 알고리즘] 11659. 구간 합 구하기 4 _ 파이썬 (1) | 2021.02.13 |
[백준 알고리즘] 8958. OX퀴즈 - 파이썬 (0) | 2021.02.10 |
[백준 알고리즘] 10828번 스택 (0) | 2021.02.06 |
[백준 알고리즘] 11653번 소인수분해 _ 파이썬 python (1) | 2021.02.04 |