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

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

今回の問題は以下です。

座標系での向きの変わる移動 | レベルアップ問題集 | プログラミング学習サイト【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)
    }
}

かなりいい感じに実装できたと思います👍