Leetcode Note: Go - Robot Return to Origin

Robot Return to Origin - LeetCode
https://leetcode.com/problems/robot-return-to-origin/

  • Go 言語で取り組んだメモ

所感

  • 上下左右に動作するロボットが最終的に原点に戻る場合は true そうでない場合は false を return する
  • 上下左右への移動は string 配列で渡される文字によって決まる
    • 上: U => Up
    • 下: D => Down
    • 左: L => Left
    • 右: R => Right

回答

Robot Return to Origin - LeetCode
https://leetcode.com/problems/robot-return-to-origin/solution/

func judgeCircle(moves string) bool {
    x := 0
    y := 0
    
    s := strings.Split(moves, "")
    for _, c := range s {
        switch c {
            case "U":
                y--
            case "D":
                y++
            case "L":
                x--
            case "R":
                x++
        }
    }
    
    return x == 0 && y == 0
}
  • 座標を x, y で扱う
  • strings.Split と for range で各文字に処理
    • 文字を UDLR で判定して座標を操作
  • 最終的に座標が初期値であれば true を return