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

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

今回の問題は以下です。

構造体の作成 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】

実装

以下のように実装しました。

package main
import "fmt"

type User struct {
    nickname string
    old int
    birth string
    state string
}

func (u *User) Scan() {
    fmt.Scan(&u.nickname, &u.old, &u.birth, &u.state)
}

func (u *User) Printf() {
    fmt.Printf(`User{
nickname : %s
old : %d
birth : %s
state : %s
}
`, u.nickname, u.old, u.birth, u.state)
}

func main(){
    var n int
    fmt.Scan(&n)
    users := make([]User, n)
    for i := 0; i < n; i++ {
        users[i].Scan()
    }
    for _, u := range users {
        u.Printf()
    }
}

ScanとPrintfをUserのメソッドとして定義しました。

これですっきり実装できましたね。

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