เขียนโปรแกรม (หรือฟังก์ชัน) ที่รับสายอักขระที่ไม่ว่างเปล่าของอักขระ ASCII ที่พิมพ์ได้
พิมพ์ (หรือส่งคืน) ห่วงโซ่ซิกแซกของตัวละครในสตริงที่มีตัวละครทุกตัวที่เชื่อมโยงกันโดย:
/
หากตัวอักษรตัวแรกเกิดขึ้นก่อนตัวอักษรตัวที่สองตามลำดับ ASCII ปกติ เช่นB / A
\
หากตัวอักษรตัวแรกเกิดขึ้นหลังจากตัวละครตัวที่สองในลำดับ ASCII ปกติ เช่นB \ A
-
ถ้าตัวอักษรตัวแรกและตัวที่สองเหมือนกัน เช่นA-A
ดังนั้นผลลัพธ์สำหรับProgramming Puzzles & Code Golf
จะเป็น
o
/ \
r z-z o e G l
/ \ / \ / \ / \ / \
P o r m-m n u l s & C d f
\ / \ / \ / \ / \ / \ / \ /
g a i g P e
\ /
หากมีเพียงหนึ่งอักขระในสตริงอินพุตเอาต์พุตก็จะเป็นอักขระนั้น
โปรแกรมของคุณควรปฏิบัติต่อ,
/
และ\
, -
เช่นเดียวกับตัวละครอื่น ๆ ทั้งหมด
เช่น -\//-- \ //-
ควรผลิต:
\
/ \
- /-/
/ \
- --- \ /-/
\ / \ / \
-
\
ไม่ควรมีการขึ้นบรรทัดใหม่ที่ไม่เกี่ยวข้องในเอาต์พุตยกเว้นสำหรับการขึ้นบรรทัดใหม่ที่เป็นทางเลือกเดียว (โปรดสังเกตว่าบรรทัดว่างในตัวอย่างด้านบนเก็บช่องว่างสุดท้ายในสตริงและดังนั้นจึงไม่ใช่ภายนอก) อาจมีช่องว่างต่อท้ายในบรรทัดใด ๆ ในการจัดเรียงใด ๆ
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
อีกตัวอย่างหนึ่ง - อินพุต:
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
เอาท์พุท:
9 9 8 6 6
/ \ / \ / \ / \ / \
9 6 8 7 3 3 4 2 4 8 9 8-8
/ \ / \ / \ / \ / \ / \ / \
4 5 2 5 5 2 3-3 3 7 5 2 4 9 9 9-9 7
/ \ / \ / \ / \ / \ / \ / \ / \ / \
3 1 1 3 2 0 1 7 6 3 3 5 8 8 6
\ / \ / \ / \ / \ / \
. 1 1 5 2 9 9 3 7 1 4 6 8 9
\ / \ / \ / \ / \ / \ / \ / \ /
0 0 7 9 5 2 0 0 2 6 9-9 8 5 4 7
\ / \ / \ / \ / \ / \ / \ /
4 4-4 2 8 8 4 2 3 2 7 6
\ / \ / \ / \ /
0 6 8 3 1-1 0
\ / \ /
2 0
'\n'
ด้วยสตริงแม่แบบเช่นนี้