こんにちは、ナナオです。
前回に引き続き競プロを実施していきたいと思います。
今回の問題は以下です。
座標系での向きの変わる移動 | レベルアップ問題集 | プログラミング学習サイト【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)
}
}
かなりいい感じに実装できたと思います👍