Хлопці з високими очима ASCII люблять зміщувати ASCII Ii:
>_> <_< >_< <_>
Враховуючи рядок стриманих хлопців, розташованих один від одного або окремими лініями, змістіть Iiбічну сторону вліво, стіну ліворуч та праворуч небо:
Ii
Найкоротший перемикач виграє приз.
Скажи що?
Напишіть програму або функцію, яка містить рядок з довільного списку цих чотирьох смайликів ASCII, або розділених пробілом, або новою лінією (з необов'язковим зворотним новим рядком):
>_>
<_<
>_<
<_>
Наприклад, вхід може бути
>_> >_> <_>або
>_> >_> <_>(Метод, який ви підтримуєте, залежить від вас.)
Кожен смайлик виконує різні дії на символи Iта iсимволи, які завжди починаються так:
Ii
>_>зміщуєтьсяIвправо по одному, якщо можливо, а потім зміщуєтьсяiвправо.<_<зрушуєIвліво на один, якщо це можливо, а потім зсуваєтьсяiвліво на один, якщо це можливо.>_<зміщуєтьсяIвправо по одному, якщо можливо, а потім зміщуєтьсяiвліво, якщо можливо.<_>I, якщо можливо, зміщується вліво, а потім зміщуєтьсяiвправо.
Iне може бути зміщена вліво, якщо вона знаходиться в лівій частині лінії (як це було спочатку), і не може бути зміщена вправо, якщо iпрямо вправо (як це було спочатку).
iне може бути зміщена вліво, якщо Iзнаходиться прямо вліво (як це було спочатку), але завжди може бути зміщена праворуч.
Зауважте, що ці правила Iзавжди залишатимуться ліворуч iі Iнамагаються змістити їх раніше iдля всіх смайликів.
Вашій програмі або функції потрібно надрукувати або повернути рядок заключного Iiрядка після застосування всіх зрушень у заданому порядку, використовуючи пробіли ( ) або періоди ( .) для порожнього простору. Додаткові проміжки або періоди та один зворотний новий рядок необов'язково допускаються у висновку. Не змішуйте пробіли та періоди.
Наприклад, вхід
>_> >_> <_>має вихід
I...iтому що зміни змінюються як
start |Ii >_> |I.i >_> |.I.i <_> |I...i
Виграє найкоротший код у байтах. Tiereaker є вищою відповіді.
Випробування
#[id number]
[space separated input]
[output]
Використання .для наочності.
#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
