こんにちは、ナナオです。
前回に引き続き競プロを実施していきたいと思います。
今回の問題は以下です。
構造体の更新 | レベルアップ問題集 | プログラミング学習サイト【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のセッター実装は初めてだったのでよくわかりませんでしたが、ポインタレシーバをつければいいだけでしたね。
ということで今回はこれで👍