Shifty-eyes 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
바이트 단위의 가장 짧은 코드가 이깁니다. Tiebreaker가 더 높은 투표 응답입니다.
테스트 사례
#[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