CodeIQ過去問集16:3年C組の成績表
本稿はCodeIQで2014年2月3日~3月10日に出題された コード銀行:3年C組の成績表 という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。
3年C組の成績表
【問題】
愛求中学校の3年C組で、実力テストを行いました。国語・数学・英語・社会・理科5科目の採点結果が、CSVファイルに保存されています。このファイルを読み込み、個々の生徒について、科目ごとの順位と、5科目合計点の順位をそれぞれ算出し、結果をCSVファイルとして出力するプログラムを書いてください。
【問題の詳細】
・順位づけの方法
点数が高い順に、1, 2, ...と順位をつけるだけですが、同じ得点が2人以上の場合は同じ順位になり、それより下の点数は順位がずれていきます。 たとえば、80点が5位で2人いたとすると、79点の人は6位ではなく7位になります。80点が3人いれば、8位になります。
・csvファイルについて
csvファイルの文字コードはShift_JIS、改行コードはCR+LFになっています。 出力データに関しては、文字コード・改行コードの指定は特にありません。
・出力データの項目名
国語・数学・英語・社会・理科の順位に加えて、合計点の順位も出力することになりますので、1行目の項目名に「合計」を追加してください。
・その他 本問の記述に関してあいまいな部分があると判断した場合は、どのように解釈・対応したかを、ソースコード内にコメントとして記述してください。
・テストデータ seiseki_3c.zipをダウンロード、展開すると、以下のファイルが含まれています。
サンプルのデータです。まずは、sample_input.csvを読み込んで、sample_output.csvの内容と完全に一致するデータを出力できるようにしましょう。
テストデータです。class_3c_input.csvを読み込んで、class_3c_output.csvの内容と完全に一致するデータを出力できるようにしましょう。
[解説あとで]