ท้าทาย:
กำหนดสตริงที่มีตัวอักษรตัวพิมพ์ใหญ่และ / เล็ก (แล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) วาง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(เพิ่ม[]เพื่อให้สามารถอ่านได้มากขึ้น)
