HackerRankの問題、Finding the percentageを解いた。

問題

問題文はFinding the percentage | HackerRank

自分の解答

コード

if __name__ == '__main__':
  n = int(input())
  student_marks = {}
  for _ in range(n):
    name, *line = input().split()
    scores = list(map(float, line))
    student_marks[name] = scores
  query_name = input()

  num_of_scores = len(scores)
  print("{0:.2f}".format(sum(student_marks[query_name]) / num_of_scores))

考え方

標準入力から読み込むところは全部HackerRank側で用意してくれていたので、自分が書いたのは末尾の2行だけです。

指定された名前の生徒の平均点を、小数点以下2桁まで出したいので、

  • リストに入った点数の総和を求める
  • リストに入った点数の数を求める
  • 計算して桁数を整える

が出来ればOK。

点数の数をnum_of_scoresに入れて、点数の総和はlistに対してsumした値を割れば平均点。

これを、formatで小数点以下2桁までの表示にしてprintすれば完了。