https://www.acmicpc.net/problem/4344
[정답]
C=int(input())
for i in range(C):
sum,average,rate,plus=0,0,0,0
score_list=list(input().split())
N=int(score_list[0])
for i in range(1,len(score_list)):
sum+=int(score_list[i])
average=sum/N
for i in range(1,len(score_list)):
if average<int(score_list[i]):
plus+=1
rate=round((plus/N)*100,3)
print("%0.3f%%" %rate)
score_list=list(input())
입력값 : 10 20 30
출력값 : ['1', '0', ' ', '2', '0', ' ', '3', '0']
score_list=list(input().split())
입력값 : 10 20 30
출력값 : ['10', '20', '30']
☆ 내가 이 문제에서 헤맸던 부분 → 반올림해서 소수점 셋째자리까지 출력하기
rate=round((plus/N)*100,3)
print("%0.3f%%" %rate)
round함수
실수를 반올림할 때 사용하는 함수
사용방법 : round(A,B)
A는 해당 실수, B는 몇째자리까지 반올림할 것인지를 의미
이 문제의 경우, 소수점 셋째자리까지 표현해야 하니까 B=3이다.
소수점 자리 정해서 실수 출력하는 방법
사용방법 : print("%0.nf"%A)
n은 몇째자리까지 표현할 것인지, A는 해당 실수를 의미
ex) print("%0.3f"%1.23456) → 1.235
%를 출력하기 위해서 사용하는 %%
print("%0.3f%%" %rate)
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #2440: 별 찍기 - 3 (0) | 2020.11.07 |
---|---|
[백준 파이썬] #1546: 평균 (0) | 2020.11.07 |
[백준 파이썬] #8958: OX 퀴즈 (0) | 2020.11.07 |
[백준 파이썬] #2577: 숫자의 개수 (0) | 2020.11.07 |
[백준 파이썬] #2588: 곱셈 (0) | 2020.11.06 |