Ogni volta che fai una mossa su un cubo di Rubik, c'è una mossa inversa che annulla la prima mossa. Per questo motivo, ogni algoritmo (serie di mosse) ha un algoritmo inverso che annulla il primo algoritmo.
L'obiettivo di questa sfida è trovare il contrario di un determinato algoritmo.
Specifica:
L'input è costituito da una matrice di mosse individuali. Ogni mossa è una stringa di lunghezza 1 o 2. Naturalmente, puoi usare qualunque formato di input abbia più senso nella tua lingua. Ogni mossa consiste nella struttura X
o X'
o X2
, doveX
è una lettera maiuscola o minuscola.
Per invertire X
, basta sostituirlo con X'
. Allo stesso modo, X'
diventa X
.X2
d'altra parte non viene modificato.
Per creare l'output, invertire ogni spostamento, quindi invertire l'array.
Esempi (stringhe separate da spazi):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
punteggio:
Questo è code-golf, quindi vince il minor numero di byte. Non sono ammesse scappatoie standard.
X3
o X1
sarebbe stata una bella aggiunta alla sfida.
D2R2
un caso di prova ...
R2
->R2'
oB
->B3
permesso?