ท้าทาย
สำหรับอักขระแต่ละตัวของสตริงยกเว้นตัวสุดท้ายให้ทำดังนี้
เอาท์พุทตัวละครปัจจุบัน
ตามด้วยการสุ่มเอาท์พุทจากรายการต่อไปนี้เป็นจำนวนสุ่มครั้งระหว่าง 1 - 5 (รวม):
- ตัวละครปัจจุบัน
- อักขระตัวถัดไปของสตริง
- เวอร์ชัน switchcase ของตัวละครที่คุณเปิดอยู่
- รุ่น switchcase ของตัวละครต่อไปของสตริง
กรณีทดสอบ
String
-> SSSTSStrTrIiinIIngn
, . , . , . Hello world!
-> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D
Programming Puzzles and Code Golf
-> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS a aANnNddD C COCoooOOdeDe E GGGoOllFFf
หมายเหตุ
- คุณจะต้องใช้เวอร์ชัน switchcase ของตัวละครหากตัวละครเป็นส่วนหนึ่งของตัวอักษร (AZ และ az)
- ฟังก์ชั่นการสุ่มของคุณไม่จำเป็นต้องเหมือนกัน แต่ก็ยังต้องมีโอกาสกลับองค์ประกอบใด ๆ ในรายการที่กำหนด
- คุณได้รับอนุญาตให้ใช้รูปแบบ I / O มาตรฐานใด ๆ
- คุณอาจคิดว่าความยาวของอินพุตนั้นมากกว่าหรือเท่ากับสอง
- คุณอาจสันนิษฐานว่าการป้อนข้อมูลประกอบด้วยอักขระ ASCII เท่านั้น
- ชื่อไม่ใช่กรณีทดสอบ (โดยไม่ได้ตั้งใจหากเป็นกรณีทดสอบที่ถูกต้อง)
- Switchcase หมายถึงเปลี่ยนถ่านให้เป็นตัวพิมพ์เล็กหากเป็นตัวพิมพ์ใหญ่และเปลี่ยนเป็นถ่านเป็นตัวพิมพ์ใหญ่หากเป็นตัวพิมพ์เล็ก
String
ผลิตSSSTSStrTrIiinIIngn
[S]SSTSS [t]rT, [r]I, [i]inII, [n]gn
ที่ตัวละครระหว่างบล็อกเป็นสัญลักษณ์แสดงหัวข้อย่อยแรก (" เอาท์พุทตัวละครปัจจุบัน ") และตัวละครอื่น ๆ เป็น 1-5 เท่าสุ่มหนึ่งในสี่ตัวเลือกสำหรับที่ ตัวละคร แต่ฉันเห็นด้วยว่าคำอธิบายที่ชัดเจนกว่านี้ก็น่าจะเหมาะสมแล้ว นอกเหนือจากกรณีทดสอบมันไม่ชัดเจนโดยเฉพาะเราต้องเลือกตัวเลือกแบบสุ่ม 1-5 ครั้ง แทนที่จะเลือกตัวเลือกสุ่มซ้ำ 1-5 ครั้ง (เช่นเดียวกับคำตอบของ Gaia ในปัจจุบัน)