I linguaggi di programmazione bidimensionali hanno spesso comandi mirror simili /
e \
per reindirizzare il puntatore di istruzioni sulla griglia:
>>>>\
v
v
<<<</
In questa sfida, ti viene data una direzione in entrata e uno specchio e devi determinare la direzione in uscita.
Regole
La direzione in arrivo verrà indicata come uno dei personaggi NESW
e lo specchio verrà indicato come uno /
o \
. Puoi riceverli in qualsiasi ordine. È necessario utilizzare lettere maiuscole.
Puoi inserire input in qualsiasi formato conveniente, inclusa una stringa di due caratteri, una stringa che utilizza un separatore tra i caratteri, una coppia di caratteri in un elenco o persino una coppia di stringhe singleton. Se si utilizza una stringa con separatore, il separatore non può utilizzare nessuno dei caratteri NWSE\/
.
L'output deve essere un carattere di una NESW
stringa di caratteri singoli.
È possibile scrivere un programma o una funzione e utilizzare uno dei nostri metodi standard per ricevere input e fornire output.
È possibile utilizzare qualsiasi linguaggio di programmazione , ma si noti che queste scappatoie sono vietate per impostazione predefinita.
Questo è code-golf , quindi la risposta valida più breve - misurata in byte - vince.
Casi test
Ci sono solo 8 possibili input che devi gestire, quindi non ci sono scuse per non testare il tuo codice su tutti loro:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Se la tua risposta è un invio di una funzione che accetta una stringa, ovviamente avrai bisogno \\
del codice sorgente per chiamarla correttamente, ma se stai leggendo il tuo input dallo standard input, per esempio, dovrebbe essere un singolo \
. In altre parole, se si chiama la funzione di lunghezza stringa corrispondente della propria lingua sull'input, il risultato dovrebbe essere sempre lo stesso, indipendentemente dal fatto che l'input contenga /
o \
.
readline()
posso gestirlo.