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 Xor X'o X2, donde Xhay una letra mayúscula o minúscula.
Para revertir X, simplemente reemplácelo con X'. Del mismo modo, se X'convierte X. X2por 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.
X3o X1habría sido una buena adición al desafío.
D2R2como caso de prueba ...
R2->R2'oB->B3?