Chłopaki ASCII o zmiennookim wzroku lubią zmieniać ASCII Ii:
>_> <_< >_< <_>
Biorąc pod uwagę szereg zmiennokształtnych, rozstawionych lub oddzielnych linii, przesuń Iibok na bok, opuść ścianę i wyprostuj niebo:
Ii
Najkrótszy manewr wygrywa nagrodę.
Powiedz co
Napisz program lub funkcję, która pobiera ciąg dowolnej listy tych czterech emotikonów ASCII, oddzielonych spacją lub znakiem nowej linii (z opcjonalnym znakiem nowej linii):
>_>
<_<
>_<
<_>
Na przykład dane wejściowe mogą być
>_> >_> <_>lub
>_> >_> <_>(Metoda, którą wspierasz, zależy od ciebie.)
Każdy emotikon wykonuje inną akcję na znakach Ii i, które zawsze zaczynają się tak:
Ii
>_>przesuwaIsię w prawo o jeden, jeśli to możliwe, a następnie przesuwaiw prawo o jeden.<_<przesuwaIsię w lewo o jeden, jeśli to możliwe, a następnie przesuwaiw lewo o jeden, jeśli to możliwe.>_<przesuwaIsię w prawo o jeden, jeśli to możliwe, a następnie przesuwaiw lewo o jeden, jeśli to możliwe.<_>przesuwaIsię w lewo o jeden, jeśli to możliwe, a następnie przesuwaiw prawo o jeden.
Inie można go przesunąć w lewo, jeśli znajduje się na lewej krawędzi linii (tak jak jest na początku), i nie można go przesunąć w prawo, jeśli ijest bezpośrednio w prawo (jak to jest na początku).
inie można go przesunąć w lewo, jeśli Ijest bezpośrednio w lewo (jak to jest początkowo), ale zawsze można przesunąć w prawo.
Pamiętaj, że przy tych regułach Izawsze pozostanie po lewej stronie ii Iprzedtem próbuje się przenieść iwszystkie emotikony.
Twój program lub funkcja musi wydrukować lub zwrócić ciąg ostatniego Iiwiersza po zastosowaniu wszystkich przesunięć w podanej kolejności, używając spacji ( ) lub kropek ( .) dla pustej przestrzeni. Końcowe spacje lub kropki oraz pojedyncza nowa linia są opcjonalnie dozwolone w danych wyjściowych. Nie mieszaj spacji i kropek.
Na przykład dane wejściowe
>_> >_> <_>ma moc wyjściową
I...iponieważ zmiany obowiązują jak
start |Ii >_> |I.i >_> |.I.i <_> |I...i
Najkrótszy kod w bajtach wygrywa. Tiebreaker jest wyżej głosowaną odpowiedzią.
Przypadki testowe
#[id number]
[space separated input]
[output]
Używanie .dla jasności.
#0
[empty string]
Ii
#1
>_>
I.i
#2
<_<
Ii
#3
>_<
Ii
#4
<_>
I.i
#5
>_> >_>
.I.i
#6
>_> <_<
Ii
#7
>_> >_<
.Ii
#8
>_> <_>
I..i
#9
<_< >_>
I.i
#10
<_< <_<
Ii
#11
<_< >_<
Ii
#12
<_< <_>
I.i
#13
>_< >_>
I.i
#14
>_< <_<
Ii
#15
>_< >_<
Ii
#16
>_< <_>
I.i
#17
<_> >_>
.I.i
#18
<_> <_<
Ii
#19
<_> >_<
.Ii
#20
<_> <_>
I..i
#21
>_> >_> <_>
I...i
#22
<_> >_> >_> >_> <_> <_<
.I...i
#23
<_> >_> >_> >_> <_> <_< >_< <_< >_<
..Ii
#24
>_> >_< >_> >_> >_> >_> >_> >_> <_> <_> <_<
...I.....i
