1. paizaラーニングトップ
  2. レベルアップ問題集
  3. クラス・構造体メニュー(言語選択)
  4. 問題一覧
  5. 構造体の整列

クラス・構造体メニューのサムネイル
構造体の整列(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

クラスの学級委員である paiza 君は、クラスのみんなに次のような形式でアカウントの情報を送ってもらうよう依頼しました。

名前 年齢 誕生日 出身地

送ってもらったデータを使いやすいように整理したいと思った paiza 君はクラス全員分のデータを次の形式でまとめることにしました。

User{
nickname : 名前
old : 年齢
birth : 誕生日
state : 出身地
}


この情報を扱いやすくするために、年齢が昇順になるようにデータを並び替えることにしました。
クラスメートの情報が与えられるので、並び替えた後のデータを出力してください。

入力される値

N
n_1 o_1 b_1 s_1
...
n_N o_N b_N s_N


・ 1 行目では、paiza君のクラスの人数 N が与えられます。
・ 続く N 行のうち i 行目 (1 ≦ i ≦ N) では、 i 番の生徒の名前・年齢・誕生日・出身地を表す整数・文字列 n_i ,o_i ,b_i , s_i が順に半角スペース区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

n_1 o_1 b_1 s_1
...
n_N o_N b_N s_N


各クラスメートの情報を年齢が昇順になるように整列したのち、入力と同様の形式で出力してください。

条件

・ 1 ≦ N ≦ 10
・ n_i , b_i (1 ≦ i ≦ N) は 1 文字以上 20 文字以下の文字列
・ b_i (1 ≦ i ≦ N) はMM/DD 形式の文字列(例 1月2日 → 01/02 12月31日 → 12/31)
・ 1 ≦ o_i ≦ 100
・ o_i (1 ≦ i ≦ N) は重複することがないことが保証されている。

入力例1

1
koko 23 04/10 tokyo

出力例1

koko 23 04/10 tokyo

入力例2

3
mako 13 08/08 nara
taisei 16 12/04 nagano
megumi 14 11/02 saitama

出力例2

mako 13 08/08 nara
megumi 14 11/02 saitama
taisei 16 12/04 nagano

問題一覧へ戻る

ページの先頭へ戻る