Los lenguajes de programación bidimensionales a menudo tienen comandos espejo como /
y \
para redirigir el puntero de instrucciones en la cuadrícula:
>>>>\
v
v
<<<</
En este desafío, se le da una dirección entrante y un espejo y necesita determinar la dirección saliente.
Reglas
La dirección entrante se dará como uno de los personajes NESW
y el espejo se dará como /
o \
. Puede recibirlos en cualquier orden. Debes usar letras mayúsculas.
Puede tomar la entrada en cualquier formato conveniente, incluida una cadena de dos caracteres, una cadena que use un separador entre los caracteres, un par de caracteres en una lista o incluso un par de cadenas de un solo tono. Si usa una cadena con separador, el separador no puede usar ninguno de los caracteres NWSE\/
.
La salida debe ser un carácter de NESW
una cadena de un solo carácter.
Puede escribir un programa o una función y utilizar cualquiera de nuestros métodos estándar para recibir entradas y proporcionar salidas.
Puede usar cualquier lenguaje de programación , pero tenga en cuenta que estas lagunas están prohibidas por defecto.
Este es el código de golf , por lo que gana la respuesta válida más corta, medida en bytes .
Casos de prueba
Solo hay 8 posibles entradas que necesita manejar, por lo que no hay excusa para no probar su código en todas ellas:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Si su respuesta es una presentación de función que toma una cadena, entonces, por supuesto, necesitará \\
en el código fuente para llamarla correctamente, pero si está leyendo su entrada desde la entrada estándar, por ejemplo, entonces debería ser una sola \
. En otras palabras, si llama a la función de longitud de cadena respectiva de su idioma en la entrada, el resultado siempre debe ser el mismo, independientemente de si la entrada contiene /
o no \
.
readline()
puedo manejarlo.