Mr. Mackeyเป็นตัวละครSouth Park ที่รู้จักกันดีในการเพิ่ม "m'kay" ในทุกสิ่งที่เขาพูด
เขียนโปรแกรมหรือฟังก์ชั่นที่แปลงข้อความเป็นสิ่งที่นายแม็คกี้พูด
ตำแหน่ง M'kay
m'kay
มีการสุ่มโอกาส 50%ที่จะถูกเพิ่มเข้ามาหลังจากเครื่องหมายวรรคตอน,
,.
,?
!
และ หากเป็นกรณีนั้นจะถูกตามด้วยเครื่องหมายวรรคตอนเดียวกันที่มาก่อนและนำหน้าด้วยช่องว่างตัวอย่างเช่นในประโยค
Test, test.
มีสองสถานที่ที่m'kay
สามารถเพิ่ม: หลังเครื่องหมายจุลภาคและหลังช่วงเวลาโดยมีโอกาส 50% ในแต่ละสถานที่ ผลลัพธ์ที่เป็นTest, m'kay, test
ไปได้คือ หรือหรือTest, test. M'kay.
Test, m'kay, test. M'kay.
ต้องมีการเพิ่มอย่างน้อยหนึ่งรายการ
m'kay
เสมอ ยิ่งไปกว่านั้นมันไม่ได้อยู่ในสถานที่เดียวกันเสมอและแต่ละสถานที่ที่ถูกต้องซึ่งm'kay
สามารถเพิ่มได้ต้องเกิดขึ้นด้วยความน่าจะเป็นที่เท่ากัน นั่นคือคุณไม่สามารถเพิ่มเสมอในตอนท้ายของสตริงเพราะถ้าคุณไม่เคยแบบแผนใด ๆm'kay
เพิ่มm'kay
หากมีเพียงหนึ่งรายการm'kay
จะต้องมีความน่าจะเป็นเหมือนกันที่จะปรากฏในแต่ละตำแหน่งที่ถูกต้องแม้ว่าจะมีการบังคับใช้หาก
m'kay
คือหลังจากที่?
,.
หรือ!
ที่m
จะต้อง uppercasedจำนวน
m
ในm'kay
จะต้องรับ uniformely ระหว่างวันที่ 1 และ 3 นั่นคือm'kay
,mm'kay
และmmm'kay
เป็นทางเลือกที่เป็นไปได้ทั้งหมดในแต่ละที่มีความน่าจะเป็น 0.33 ... ถ้ามันจะต้อง uppercased (ดูด้านบนกฎ) ทั้งหมดm
จะต้อง uppercased
อินพุตเอาต์พุต
อินพุตเป็นสตริง ASCII ที่มีอักขระตั้งแต่ ASCII Dec 32 (Space) ถึง ASCII Dec 126 (Tilde
~
) ไม่มี linebreaks ในอินพุต คุณอาจสันนิษฐานว่าข้อมูลใด ๆ จะมีอย่างน้อยหนึ่ง, . ? !
รายการคุณอาจคิดว่ามี
m'kay
หรือไม่มีตัวแปรในอินพุตอินพุตอาจถูกนำมาจาก STDIN อาร์กิวเมนต์ฟังก์ชันบรรทัดคำสั่งหรือสิ่งอื่นที่คล้ายคลึงกัน
เอาท์พุทอาจจะผ่าน STDOUT, การคืนค่าฟังก์ชันหรือสิ่งที่คล้ายกัน
กรณีทดสอบ
- การป้อนข้อมูล:
Test.
เอาต์พุตที่เป็นไปได้: Test. M'kay.
- การป้อนข้อมูล:
Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required.
เอาต์พุตที่เป็นไปได้: Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. MMM'kay. It's 100% free, mm'kay, no registration required.
- การป้อนข้อมูล:
Drugs are bad, so, if you do drugs, you're bad, because drugs are bad. They can hurt your body, cause drugs are bad.
เอาต์พุตที่เป็นไปได้: Drugs are bad, m'kay, so, if you do drugs, you're bad, m'kay, because drugs are bad. They can hurt your body, m'kay, cause drugs are bad. M'kay.
- การป้อนข้อมูล:
Do you understand? Really? Good!
เอาต์พุตที่เป็นไปได้: Do you understand? MM'kay? Really? Good! MMM'kay!
เกณฑ์การให้คะแนน
นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ m'kay?
M'kay
มีโอกาสสุ่ม 50% ของการเพิ่มหลังจากเครื่องหมายวรรคตอน,.,? และ! " ดูเหมือนจะไม่เข้ากันกับ " ต้องมีอย่างน้อยหนึ่งรายการที่m'kay
เพิ่ม " โปรดอธิบายว่า