こんにちは、ナナオです。

前回に引き続き競プロを実施していきたいと思います。

今回の問題は以下です。

構造体の整列 | レベルアップ問題集 | プログラミング学習サイト【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パッケージを使うと楽に実装できますね。

ということで今回はこれで👍