Bahasa pemrograman dua dimensi sering memiliki perintah cermin seperti /
dan \
untuk mengarahkan ulang pointer instruksi di grid:
>>>>\
v
v
<<<</
Dalam tantangan ini, Anda diberi arah masuk dan cermin dan Anda perlu menentukan arah keluar.
Aturan
Arah masuk akan diberikan sebagai salah satu karakter NESW
dan cermin akan diberikan sebagai salah satu /
atau \
. Anda dapat menerima ini dalam urutan apa pun. Anda harus menggunakan huruf besar.
Anda dapat mengambil input dalam format apa pun yang nyaman, termasuk string dua karakter, string menggunakan pemisah antara karakter, sepasang karakter dalam daftar, atau bahkan sepasang string tunggal. Jika Anda menggunakan string dengan pemisah, pemisah tidak dapat menggunakan karakter apa pun NWSE\/
.
Output harus berupa karakter dari NESW
atau string karakter tunggal.
Anda dapat menulis sebuah program atau fungsi dan menggunakan salah satu metode standar kami untuk menerima input dan memberikan output.
Anda dapat menggunakan bahasa pemrograman apa pun , tetapi perhatikan bahwa celah ini dilarang secara default.
Ini adalah kode-golf , sehingga jawaban terpendek yang valid - diukur dalam byte - menang.
Uji Kasus
Hanya ada 8 kemungkinan input yang perlu Anda tangani, jadi tidak ada alasan untuk tidak menguji kode Anda pada semuanya:
N / --> W
N \ --> E
E / --> S
E \ --> N
S / --> E
S \ --> W
W / --> N
W \ --> S
\
. Jika jawaban Anda adalah penyerahan fungsi yang mengambil string, maka tentu saja Anda perlu \\
dalam kode sumber untuk menyebutnya dengan benar, tetapi jika Anda membaca input Anda dari input standar, misalnya, maka itu harus tunggal \
. Dengan kata lain, jika Anda memanggil fungsi string-length masing-masing bahasa Anda pada input, hasilnya harus selalu sama, terlepas dari apakah input berisi /
atau \
.
readline()
dapat mengatasinya.