【Bランクレベルアップメニュー】> FINAL問題 文字と整数の組のソート2 (paizaランク C 相当) [難易度: 1620 ±6]
※リンク先へ移動するためには[paiza]へのログインが必要です。
1行目に行数を表す整数 n、続く n 行の各行で「文字」と「整数」の組が空白区切りで入力されます。
n 個の組について、「文字」の値が同じ組同士の数値を足しあわせてまとめ、まとめた数値の降順で、文字とまとめた数値の組を出力してください。
この際、まとめた数値は重複しません。
入力値(例)
7
A 1
D 6
C 2
G 4
B 70
A 10
B 5
出力値(例)
B 75
A 11
D 6
G 4
C 2
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php $n = trim(fgets(STDIN)); $data = []; for($i = 0; $i < $n; $i++) { list($s, $d) = explode(" ", trim(fgets(STDIN))); if(isset($data[$s])) { $data[$s] += $d; } else { $data[$s] = $d; } } //print_r($ds); arsort($data); foreach($data as $key => $value) { echo $key. " ". $value. "\n"; } ?> |