Rubik 's Cube를 움직일 때마다 첫 번째 이동을 취소하는 리버스 이동이 있습니다. 이 때문에 모든 알고리즘 (이동 세트)에는 첫 번째 알고리즘을 취소하는 역 알고리즘이 있습니다.
이 과제의 목표는 주어진 알고리즘의 반대를 찾는 것입니다.
사양:
입력은 개별 이동 배열로 구성됩니다. 각 이동은 길이가 1 또는 2 인 문자열입니다. 물론 언어에 가장 적합한 입력 형식을 사용할 수 있습니다. 각각의 움직임은 구조로 구성 X
하거나 X'
또는 X2
, X
대문자 또는 소문자입니다.
반대로 X
바꾸 려면 간단히 바꾸십시오 X'
. 마찬가지로 X'
가됩니다 X
. X2
반면에 변경되지 않습니다.
출력을 만들려면 각 이동을 반대로 한 다음 배열을 뒤집습니다.
예 (공백으로 구분 된 문자열) :
R
=> R'
D U'
=> U D'
S T A C K
=> K' C' A' T' S'
A2 B2
=> B2 A2
채점 :
이것은 코드 골프이므로 가장 적은 양의 바이트가 이깁니다. 표준 허점은 허용되지 않습니다.
X3
하거나 X1
도전에 대한 좋은 추가되었습니다.
D2R2
테스트 사례로 했어야했는데 ...
R2
> -R2'
또는B
->B3
허용?