[BOJ] - 4344
問題4344
大学生の新入生の90%が、自分がクラスにいる平均数を超えたと考えている.あなたは彼らに悲しい真実を伝えるべきだ.
入力
第1行は、試験例の個数Cを与える.
2行目から、各テストケースには、学生数N(1≦N≦1000、Nは整数)の最初の数字が与えられ、次いでN名の点数が与えられる.分数が0以上、100以下の整数.
しゅつりょく
それぞれの場合、平均値の1行を超える学生の比率を四捨五入し、小数点を3位に出力します.
コード#コード#
num = int(input()) # 테스트 케이스 수
for i in range(num):
score = list(map(int,input().split()))
average = sum(score[1:])/score[0] # 0번째 숫자는 n이라서
count = 0
for j in score[1:]:
if j > average:
count += 1 # 평균보다 큰 숫자의 개수
percentage = count/score[0]*100 #비율
# round(a,n) a를 소수점 n번째에서 반올림
# a = 3.1191 -> round(a,2) -> 3.12
#반올림해 소수점 셋째자리까지 출력.
print("%.3f" %round(percentage,3)+'%')
説明:
初めて試験用例を入力した後、n入力後、n個の点数を入力しようと思って悩んだが、実は不要な部分だった.考えが難しすぎて、
出力の時は数字が合っていたのですが、白準ではずっと間違っていたので何と言っていたのか、四捨五入部分を外していたので間違っていたのですが、
四捨五入はround(a,n)であり、aを小数点nから四捨五入する.
変数を宣言するときにlistは使用できません.変数名が異なります.
Reference
この問題について([BOJ] - 4344), 我々は、より多くの情報をここで見つけました https://velog.io/@byhazy/BOJ-4344テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol