paizaの練習問題を解く 座標系での向きの変わる移動 Go編
こんにちは、ナナオです。 前回に引き続き競プロを実施していきたいと思います。 今回の問題は以下です。 座標系での向きの変わる移動 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】 実装 前回の問題を応用すればいけます。 package main import "fmt" func main(){ var x, y, n int fmt.Scan(&x, &y, &n) // 方角のスライス dir := []string{"N", "E", "S", "W"} // 現在の向き current := 120 for i := 0; i < n; i++ { var d string fmt.Scan(&d) // 現在の向きを変える if d == "R" { current++ } else { current-- } switch dir[current%4] { case "N": y-- case "S": y++ case "E": x++ case "W": x-- } fmt.Println(x, y) } } かなりいい感じに実装できたと思います👍