
मि। मैके एक साउथ पार्क चरित्र है, जिसे वह अपनी हर बात में "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अपरकेस होना चाहिए।की संख्या
mमेंm'kayuniformely 1 और 3 के बीच उठाया जाना चाहिए यही है,m'kay,mm'kayऔरmmm'kay(नियम ऊपर देखें) संभावना 0.33 के साथ सभी संभव विकल्पों, प्रत्येक रहे हैं ... यह uppercased किया जाना चाहिए, सभीmuppercased किया जाना चाहिए।
निवेश निर्गम
इनपुट ASCII स्ट्रिंग हैं जिसमें ASCII 32 दिसंबर (स्पेस) से ASCII Dec 126 (टिल्ड
~) के अक्षर हैं । इनपुट में कोई लाइनब्रेक नहीं हैं। आप मान सकते हैं कि किसी भी इनपुट में कम से कम एक शामिल होगा, . ? !।आप मान सकते हैं कि
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!
स्कोरिंग
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा कोड है, m'kay?
M'kayविराम चिह्न के बाद जोड़े जाने का यादृच्छिक 50% मौका है ,,,, और? " के साथ असंगत लगता है " हमेशा कम से कम एक m'kayजोड़ा जाना चाहिए "। कृपया स्पष्ट करें कि