¿Dónde estoy ahora?
Dada una cadena d, que contiene solo las letras NSWE, determina las coordenadas que he viajado (de izquierda a derecha, consumiendo con avidez) y la coordenada final donde resido.
Las reglas para leer las coordenadas de izquierda a derecha:
- Si el siguiente personaje es
NoS:- Si el personaje después de
NoSes otroNoS:- Consume solo el primero
NoS. - Salida
[0,1]paraN - Salida
[0,-1]paraS
- Consume solo el primero
- Si el personaje después de
NoSesWoE:- Consume tanto el
NoScomo elWoE. - Salida
[1,1]o[-1,1]paraNEyNW, respectivamente. - Salida
[1,-1]o[-1,-1]paraSEySW, respectivamente.
- Consume tanto el
- Si el personaje después de
- Si el personaje está precedido
EoWno por unSoN:- Consume la
EoW. - Salida
[1,0]paraE. - Salida
[-1,0]paraW.
- Consume la
Ejemplo trabajado
NSWE
[0,1] (North N)
[-1,-1] (South-west SW)
[1,0] (East E)
[0,0] (N+SW+E = Didn't actually move)
Tenga en cuenta que esto puede estar en cualquier formato, aquí hay otros ejemplos de resultados válidos:
[[0,1],[-1,-1],[1,0],[0,0]]
[[[0,1],[-1,-1],[1,0]],[0,0]]
"0,1\n0,-1\n-1,0\n1,0\n0,0"
Etc ...
Más ejemplos
SWSENNESWNE
[-1,-1]
[1,-1]
[0,1]
[1,1]
[-1,-1]
[1,1]
[1,0]
NNEESESSWWNW
[0,1]
[1,1]
[1,0]
[1,-1]
[0,-1]
[-1,-1]
[-1,0]
[-1,1]
[0,0]
NENENEE
[1,1]
[1,1]
[1,1]
[1,0]
[4,3]
NEN
[1,1]
[0,1]
[1,2]
EEE
[1,0]
[1,0]
[1,0]
[3,0]
Reglas
- Puede imprimir en cualquier formato conveniente que no viole las lagunas.
- Debes consumir con avidez,
NWEes nuncaN,W,E, es siempreNW,E.- Esto se aplica a:
SW*,SE*,NW*,NE*. - Estás consumiendo de izquierda a derecha, con avidez.
- Esto se aplica a:
- El es el código de golf , el menor recuento de bytes gana.
[4, 3]o menos hará que sea un poco más fácil ver lo que está sucediendo en la salida de prueba.
1, -1j, (-1+1j)formato de salida válida etc una?
NEes simplemente N+Eno debería importar?