Ilekroć wykonasz ruch na Kostce Rubika, następuje ruch odwrotny, który cofa pierwszy ruch. Z tego powodu każdy algorytm (zestaw ruchów) ma algorytm odwrotny, który zastępuje pierwszy algorytm.
Celem tego wyzwania jest znalezienie odwrotności danego algorytmu.
Specyfikacja:
Dane wejściowe składają się z szeregu pojedynczych ruchów. Każdy ruch ma ciąg długości 1 lub 2. Oczywiście możesz użyć dowolnego formatu wejściowego, który jest najbardziej sensowny w twoim języku. Każdy ruch składa się z konstrukcji X
lub X'
lub X2
, gdzie X
jest list wielkie lub małe litery.
Aby cofnąć X
, po prostu zamień go na X'
. Podobnie X'
staje się X
. X2
z drugiej strony nie ulega zmianie.
Aby utworzyć wynik, odwróć każdy ruch, a następnie odwróć tablicę.
Przykłady (ciągi znaków oddzielone spacjami):
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
Punktacja:
To jest golf golfowy, więc wygrywa najmniej bajtów. Standardowe luki są niedozwolone.
X3
lub X1
byłaby miłym dodatkiem do wyzwania.
D2R2
przypadek testowy ...
R2
->R2'
lubB
-> jestB3
dozwolone?