paizaの練習問題を解く 構造体の整列 Go編
こんにちは、ナナオです。 前回に引き続き競プロを実施していきたいと思います。 今回の問題は以下です。 構造体の整列 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】 実装 以下のように実装しました。 package main import ( "fmt" "sort" ) type User struct { nickname string old int birth string state string } func (u User) Printf() { fmt.Printf("%s %d %s %s\n", u.nickname, u.old, u.birth, u.state) } func main(){ var n int fmt.Scan(&n) u := make([]User, n) for i := 0; i < n; i++ { fmt.Scan(&u[i].nickname, &u[i].old, &u[i].birth, &u[i].state) } sort.Slice(u, func(i, j int) bool { return u[i].old < u[j].old }) for _, v := range u { v.Printf() } } sortパッケージを使うと楽に実装できますね。 ということで今回はこれで👍