ผู้ชายที่มีรสนิยมดี 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