paizaの練習問題を解く 構造体の更新 Go編
こんにちは、ナナオです。 前回に引き続き競プロを実施していきたいと思います。 今回の問題は以下です。 構造体の更新 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】 実装 以下のように実装しました。 package main import "fmt" type User struct { nickname string old int birth string state string } func (u *User) ChangeName(nickname string) { u.nickname = nickname } func (u User) Printf() { fmt.Printf("%s %d %s %s\n", u.nickname, u.old, u.birth, u.state) } func main(){ var n, k int fmt.Scan(&n, &k) u := make([]User, n) for i := 0; i < n; i++ { fmt.Scan(&u[i].nickname, &u[i].old, &u[i].birth, &u[i].state) } for i := 0; i < k; i++ { var m int var nn string fmt.Scan(&m, &nn) u[m - 1].ChangeName(nn) } for i := 0; i < n; i++ { u[i].Printf() } } goのセッター実装は初めてだったのでよくわかりませんでしたが、ポインタレシーバをつければいいだけでしたね。 ということで今回はこれで👍