Cada vez que haces un movimiento en un Cubo de Rubik, hay un movimiento inverso que deshace el primer movimiento. Debido a esto, cada algoritmo (conjunto de movimientos) tiene un algoritmo inverso que deshace el primer algoritmo.
El objetivo de este desafío es encontrar el reverso de un algoritmo dado.
Especificación:
La entrada consiste en una matriz de movimientos individuales. Cada movimiento es una cadena de longitud 1 o 2. Por supuesto, puede usar cualquier formato de entrada que tenga más sentido en su idioma. Cada movimiento consiste en la estructura X
or X'
o X2
, donde X
hay una letra mayúscula o minúscula.
Para revertir X
, simplemente reemplácelo con X'
. Del mismo modo, se X'
convierte X
. X2
por otro lado no se cambia.
Para crear la salida, invierta cada movimiento y luego invierta la matriz.
Ejemplos (cadenas separadas por espacios):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
Puntuación:
Este es el código de golf, por lo que gana la menor cantidad de bytes. Las lagunas estándar no están permitidas.
X3
o X1
habría sido una buena adición al desafío.
D2R2
como caso de prueba ...
R2
->R2'
oB
->B3
?