Les langages de programmation bidimensionnels ont souvent des commandes miroir comme /
et \
pour rediriger le pointeur d'instructions sur la grille:
>>>>\
v
v
<<<</
Dans ce défi, vous recevez une direction entrante et un miroir et vous devez déterminer la direction sortante.
Règles
La direction entrante sera donnée comme l'un des caractères NESW
et le miroir sera donné comme /
ou \
. Vous pouvez les recevoir dans n'importe quel ordre. Vous devez utiliser des lettres majuscules.
Vous pouvez prendre des entrées dans n'importe quel format pratique, y compris une chaîne de deux caractères, une chaîne utilisant un séparateur entre les caractères, une paire de caractères dans une liste ou même une paire de chaînes singleton. Si vous utilisez une chaîne avec séparateur, le séparateur ne peut utiliser aucun des caractères NWSE\/
.
La sortie doit être un caractère de NESW
ou une chaîne à un seul caractère.
Vous pouvez écrire un programme ou une fonction et utiliser l'une de nos méthodes standard de réception d'entrée et de sortie.
Vous pouvez utiliser n'importe quel langage de programmation , mais notez que ces failles sont interdites par défaut.
Il s'agit de code-golf , donc la réponse valide la plus courte - mesurée en octets - l'emporte.
Cas de test
Il n'y a que 8 entrées possibles que vous devez gérer, il n'y a donc aucune excuse pour ne pas tester votre code sur chacune d'entre elles:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Si votre réponse est une soumission de fonction qui prend une chaîne, alors vous aurez bien sûr besoin \\
dans le code source de l'appeler correctement, mais si vous lisez votre entrée à partir d'une entrée standard, par exemple, alors ce devrait être une seule \
. En d'autres termes, si vous appelez la fonction de longueur de chaîne respective de votre langue sur l'entrée, le résultat doit toujours être le même, que l'entrée contienne /
ou \
.
readline()
je peux le gérer.