【paizaの森練習問題コンテスト1】過去問題1 > 背番号順 (paizaランク C 相当) [難易度: 1513 ±24]
※リンク先へ移動するためには[paiza]へのログインが必要です。
n人の野球選手の名前が背番号と一緒に入力されます。
各選手の背番号と名前を、背番号の数字の小さい順に並び替えて出力してください。
ただし、同じ背番号の選手は存在しないものとします。
入力値(例)
3
83 PAIZA
11 SUZUKI
90 TANAKA
出力値(例)
11 SUZUKI
83 PAIZA
90 TANAKA
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $n = trim(fgets(STDIN)); for($i = 0; $i < $n; $i++) { list($id, $name) = explode(" ", trim(fgets(STDIN))); $ids[$i] = $id; $names[$i] = $name; } for($i = 0; $i < $n-1; $i++) { for($j = $i+1; $j < $n; $j++) { if($ids[$i] > $ids[$j]) { $buf = $ids[$i]; $ids[$i] = $ids[$j]; $ids[$j] = $buf; $buf_name = $names[$i]; $names[$i] = $names[$j]; $names[$j] = $buf_name; } } } for($i = 0; $i < $n; $i++) { echo $ids[$i]. " ". $names[$i]. "\n"; } ?> |
解説
バブルソートで解きました。
解説というか、バブルソートの健忘録は → こちら【PHP】バブルソートをコード付きでわかりやすく解説(初心者向け)