
マッキー氏は、彼が言うことすべてに「m'kay」を追加することで有名なサウスパークのキャラクターです。
一連のテキストをMackey氏が言うようなものに変換するプログラムまたは関数を作成します。
M'kay配置
- m'kay持っているランダムな50%の確率で追加されたの句読点の後に- ,、- .、- ?と- !。その場合、その前にスペースが続く正確に同じ句読点が続きます。- たとえば、文 - Test, test.で- m'kayは、追加できる場所が2つあります。カンマの後とピリオドの後に、それぞれの場所で50%のチャンスがあります。可能な結果はになります- Test, m'kay, test。または- Test, test. M'kay.または- Test, m'kay, test. M'kay.。
- 常に少なくとも1つ - m'kay追加する必要があります。さらに、常に同じ場所にあるとは限らず、- m'kay追加できる有効な各場所は同じ確率で発生する必要があります。つまり- m'kay、ランダム性のためにを追加したことがない場合、文字列の最後に常に追加することはできません- m'kay。が1つしかない場合- m'kay、その存在は強制されますが、各有効な位置に現れる同じ確率を持たなければなりません。
- 場合 - m'kayの後で- ?、- .または- !、- m大文字にする必要があります。
- min の数は、- m'kay1から3の間で均一に選択する必要があります。つまり- m'kay、- mm'kayおよび- mmm'kayはすべて可能性のある選択肢であり、それぞれ確率0.33 ...- mがあります。
入力、出力
- 入力は、ASCII Dec 32(スペース)からASCII Dec 126(ティルデ - ~)までの文字を含むASCII文字列です。入力に改行はありません。入力には少なくとも1つが含まれると想定できます- , . ? !。
- 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句読点の後に追加されているのランダムな50%のチャンスがある,,。、?と!」「と互換性がないと思わ常に少なくとも一つがなければならないm'kay追加」。それを明確にしてください