As linguagens de programação bidimensionais geralmente têm comandos de espelho como /
e \
para redirecionar o ponteiro de instruções na grade:
>>>>\
v
v
<<<</
Neste desafio, você recebe uma direção de entrada e um espelho e precisa determinar a direção de saída.
Regras
A direção de entrada será dada como um dos caracteres NESW
e o espelho será dado como /
ou \
. Você pode recebê-los em qualquer ordem. Você deve usar letras maiúsculas.
Você pode inserir dados em qualquer formato conveniente, incluindo uma sequência de dois caracteres, uma sequência usando algum separador entre os caracteres, um par de caracteres em uma lista ou até mesmo um par de sequências singleton. Se você usar uma seqüência de caracteres com separador, o separador não poderá usar nenhum dos caracteres NWSE\/
.
A saída deve ser um caractere NESW
ou uma cadeia de caracteres únicos.
Você pode escrever um programa ou uma função e usar qualquer um dos nossos métodos padrão de recebimento de entrada e saída.
Você pode usar qualquer linguagem de programação , mas observe que essas brechas são proibidas por padrão.
Isso é código-golfe , então a resposta mais curta e válida - medida em bytes - vence.
Casos de teste
Existem apenas 8 entradas possíveis que você precisa manipular, portanto, não há desculpa para não testar seu código em todas elas:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Se sua resposta for um envio de função que usa uma string, é claro que você precisará \\
no código-fonte para chamá-lo corretamente, mas se estiver lendo sua entrada da entrada padrão, por exemplo, deve ser uma única \
. Em outras palavras, se você chamar a respectiva função de comprimento de seqüência de caracteres do idioma na entrada, o resultado sempre será o mesmo, independentemente de a entrada conter /
ou \
.
readline()
posso lidar com isso.