
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เพิ่ม " โปรดอธิบายว่า