
Pan Mackey jest postacią z South Park znaną z dodawania „m'kay” we wszystkim, co mówi.
Napisz program lub funkcję, która przekształci ciąg tekstu w coś, co powiedziałby pan Mackey.
Dobra lokalizacja
m'kayma losowy 50% szans na dodawanych po interpunkcyjne,,.,?i!. W takim przypadku po nim będzie dokładnie ten sam znak interpunkcyjny, który go poprzedza, a po nim spacja.Na przykład w zdaniu można dodać
Test, test.dwa miejscam'kay: po przecinku i po okresie, z 50% szansą na każde miejsce. Możliwe byłyby takie wynikiTest, m'kay, test. lubTest, test. M'kay.lubTest, m'kay, test. M'kay..Zawsze musi być co najmniej jeden
m'kaydodany . Co więcej, nie zawsze może znajdować się w tym samym miejscu i każde prawidłowe miejsce, w którymm'kaymożna je dodać, musi wystąpić z jednakowym prawdopodobieństwem. Oznacza to, że nie możesz dodawaćm'kayzawsze na końcu łańcucha, jeśli z powodu losowości nigdy go nie dodałeśm'kay. Jeśli jest tylko jedenm'kay, musi mieć takie samo prawdopodobieństwo pojawienia się na każdej ważnej pozycji, nawet jeśli jego obecność jest wymuszona.Jeśli
m'kayjest po?,.lub!,mmuszą być pisane wielkimi literami.Liczba
mINm'kaymusi być uniformely podniósł między 1 i 3. Oznacza to, żem'kay,mm'kayimmm'kaysą wszystkie możliwe opcje, każdy z prawdopodobieństwem 0,33 ... Jeśli musi być duże litery (patrz wyżej reguły), wszystkommusi być duże litery.
Wejścia wyjścia
Dane wejściowe to ciągi znaków ASCII zawierające znaki od ASCII Dec 32 (Spacja) do ASCII Dec 126 (tylda
~). Na wejściu nie ma podziałów wierszy. Możesz założyć, że każde wejście będzie zawierało co najmniej jeden z nich, . ? !.Możesz założyć, że
m'kayna wejściu nie ma żadnego z jego wariantów.Dane wejściowe mogą być pobierane z STDIN, argumentów funkcji, wiersza poleceń lub czegoś podobnego.
Dane wyjściowe mogą być przesyłane za pośrednictwem STDOUT, funkcji return lub czegoś podobnego.
Przypadki testowe
- Wejście:
Test.
Możliwe wyjście: Test. M'kay.
- Wejście:
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.
Możliwe wyjście: 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.
- Wejście:
Drugs are bad, so, if you do drugs, you're bad, because drugs are bad. They can hurt your body, cause drugs are bad.
Możliwe wyjście: 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.
- Wejście:
Do you understand? Really? Good!
Możliwe wyjście: Do you understand? MM'kay? Really? Good! MMM'kay!
Punktacja
To jest code-golf , więc wygrywa najkrótszy kod w bajtach, prawda?
M'kayma losowe 50% szansy na dodanie po interpunkcji ,,.,? i! ” wydaje się być niezgodne z „ Zawsze musi być co najmniej jeden m'kaydodany ”. Wyjaśnij, że