class Solution {
func isRobotBounded(_ instructions: String) -> Bool {
// let ArrayInstructions = Array(instructions)
let initialFace = "N"
var face = initialFace
var code = (0, 0)
for ins in instructions {
switch ins {
case "G" :
switch face {
case "N" :
code = (code.0, code.1 + 1)
case "S" :
code = (code.0, code.1 - 1)
case "E" :
code = (code.0 + 1, code.1)
case "W" :
code = (code.0 - 1, code.1)
default:
break
}
case "L" :
switch face {
case "N" :
face = "W"
case "S" :
face = "E"
case "E" :
face = "N"
case "W" :
face = "S"
default:
break
}
case "R" :
switch face {
case "N" :
face = "E"
case "S" :
face = "W"
case "E" :
face = "S"
case "W" :
face = "N"
default:
break
}
default:
break
}
}
return code == (0,0) || face != "N"
}
}