Setiap kali Anda bergerak di Rubik's Cube, ada gerakan mundur yang membatalkan langkah pertama. Karena itu, setiap algoritma (serangkaian gerakan) memiliki algoritma terbalik yang membatalkan algoritma pertama.
Tujuan dari tantangan ini adalah untuk menemukan kebalikan dari algoritma yang diberikan.
Spesifikasi:
Input terdiri dari berbagai gerakan individu. Setiap gerakan adalah string dengan panjang 1 atau 2. Tentu saja, Anda dapat menggunakan format input apa pun yang paling masuk akal dalam bahasa Anda. Setiap gerakan terdiri dari struktur X
atau X'
atau X2
, di mana X
huruf besar atau kecil.
Untuk membalikkan X
, cukup ganti dengan X'
. Demikian juga, X'
menjadi X
. X2
di sisi lain tidak berubah.
Untuk membuat output, membalikkan setiap gerakan, lalu membalikkan array.
Contoh (string dipisahkan oleh spasi):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
Mencetak:
Ini adalah kode-golf, sehingga jumlah byte terkecil yang menang. Tidak ada celah standar.
X3
atau X1
akan menjadi tambahan yang bagus untuk tantangan.
D2R2
sebagai kasus uji ...
R2
->R2'
atauB
->B3
diizinkan?