AtCoder ABC 015 B – 高橋くんの集計 Python解説

スポンサーリンク

高橋くんの集計

高橋くんは、上司から
1. 会社で作っている N 個のソフトウェアに平均でどれくらいのバグがあるか調べろ
2. ただし、バグがないソフトは調査母数に含めるなと指示されました。

しかも、上司は小数が嫌いです。とはいえ、バグ数の平均値を過小報告するわけにもいかないので、値を切り上げて報告することにしました。

高橋くんは、素早くバグ数の平均値をまとめて上司に報告する必要があります。
ソフトウェアごとのバグ数が与えられるので、バグが含まれるソフトウェアの、バグ数の平均値を小数で切り上げて求めてください。

AtCoder Beginner Contest 015 「高橋くんの集計」

特に難しい問題ではないように思われます。

与えられるバグ数からバグがないソフトの数を減らし、バグ数の平均値を小数で切り上げれば正解に辿り着けます。Pythonでは小数の切り上げにはmath.ceilを使うとよいと思います。

import math

n = int(input())
a = list(map(int, input().split()))

n = n - a.count(0) # *1
sum = 0

for i in a:
    sum += i
    
ans = math.ceil(sum / n) # *2

print(ans)

(*1)ここでnから配列aに含まれる0の数を引いています。(*2)バグの平均値を出したらmath.ceilで切り上げて、最後に出力して完了です。