ท้าทาย:
กำหนดสตริงที่มีตัวอักษรตัวพิมพ์ใหญ่และ / เล็ก (แล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) วางtape
แนวนอนเพื่อแก้ไข เราทำเช่นนี้โดยการตรวจสอบความแตกต่างของทั้งสองตัวอักษรที่อยู่ติดกันในตัวอักษร (ไม่สนใจรอบและมีเพียงก้าวไปข้างหน้า) และกรอกพื้นที่ที่มีมากที่สุดเท่าที่TAPE
/ tape
ที่เราจะต้อง
ตัวอย่าง:
อินพุต: abcmnnnopstzra
เอาต์พุต:abcTAPETAPETmnnnopTAstTAPETzra
ทำไม?
- ระหว่าง
c
และm
ควรเป็นdefghijkl
(ความยาว 9) ดังนั้นเราจึงเติมด้วยTAPETAPET
; - ระหว่าง
p
และs
ควรเป็นqr
(ความยาว 2) ดังนั้นเราจึงเติมด้วยTA
; - ระหว่าง
t
และz
ควรจะเป็นuvwxy
(ความยาว 5)TAPET
เพื่อให้เรากรอกข้อมูลนี้กับ
กฏท้าทาย:
zra
แตกต่างเพียงใช้ไปข้างหน้าจึงไม่มีเทประหว่าง- เป็นไปได้ที่จะมีตัวอักษรติดกันหลายตัวเหมือน
nnn
กัน - คุณได้รับอนุญาตให้ป้อนข้อมูลในรูปแบบที่เหมาะสม สามารถเป็นสตริงเดี่ยวสตริงอาร์เรย์ / รายการอักขระอาร์เรย์ / รายการ ฯลฯ เอาท์พุทมีความยืดหยุ่นเหมือนกัน
- คุณได้รับอนุญาตให้ใช้ตัวพิมพ์เล็กและ / หรือพิมพ์ใหญ่ในแบบที่คุณต้องการ
TAPE
นี้ใช้ได้ทั้งการป้อนข้อมูลส่งออกและ - เป็นไปได้ที่ไม่
TAPE
จำเป็นในกรณีนี้อินพุตยังคงไม่เปลี่ยนแปลง
กฎทั่วไป:
- นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีการที่มีพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงก์ไปยังการทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
Input: "abcmnnnopstzra"
Output: "abcTAPETAPETmnnnopTAstTAPETzra"
Input: "aza"
Output: "aTAPETAPETAPETAPETAPETAPEza"
Input: "ghijk"
Output: "ghijk"
Input: "aabbddeeffiiacek"
Output: "aabbTddeeffTAiiaTcTeTAPETk"
Input: "zyxxccba"
Output: "zyxxccba"
Input: "abccxxyz"
Output: "abccTAPETAPETAPETAPETAPExxyz"
Input: "abtapegh"
Output: "abTAPETAPETAPETAPETtaTAPETAPETAPETApeTgh"
Input: "tape"
Output: "taTAPETAPETAPETApe"
ab[TAPETAPETAPETAPET]TA[TAPETAPETAPETA]PE[T]gh
(เพิ่ม[]
เพื่อให้สามารถอ่านได้มากขึ้น)