
M. Mackey est un personnage de South Park bien connu pour avoir ajouté "m'kay" dans tout ce qu'il dit.
Ecrivez un programme ou une fonction qui transforme une chaîne de texte en quelque chose que M. Mackey dirait.
Placement M'kay
m'kaya une chance de hasard 50% d'être ajouté après les ponctuations,,.,?et!. Si tel est le cas, il sera suivi du même signe de ponctuation qui le précède et précédé d'un espace.Par exemple, dans la phrase
Test, test., il estm'kaypossible d’ajouter deux endroits : après la virgule et après le point, avec une chance de 50% à chaque endroit. Les résultats possibles seraientTest, m'kay, test. ouTest, test. M'kay.ouTest, m'kay, test. M'kay..Il doit toujours y avoir au moins un
m'kayajouté . De plus, il ne peut pas toujours se trouver au même endroit et chaque endroit valide oùm'kayil est possible d’ajouter doit avoir la même probabilité. C'est-à-dire que vous ne pouvez pasm'kaytoujours ajouter à la fin de la chaîne si, par hasard, vous n'en avez jamais ajoutém'kay. S'il n'y en a qu'unm'kay, il doit avoir la même probabilité d'apparaître dans chaque position valide, même si sa présence est imposée.Si
m'kayest après?,.ou!, lemdoit être en majuscule.Le nombre d'
minm'kaydoit être choisi uniformément entre 1 et 3. C'est-à-direm'kay,mm'kayetmmm'kaysont tous des choix possibles, chacun avec une probabilité de 0,33 ... S'il doit être mis en majuscule (voir la règle ci-dessus), toutmdoit être en majuscule.
Entrées, sorties
Les entrées sont des chaînes ASCII contenant des caractères de ASCII 32 décembre (espace) à ASCII 126 (tilde
~). Il n'y a pas de sauts de ligne dans l'entrée. Vous pouvez supposer que toute entrée contiendra au moins un des éléments suivants, . ? !.Vous pouvez supposer qu'il n'y a aucune
m'kayou aucune de ses variantes dans l'entrée.Les entrées peuvent provenir de STDIN, des arguments de fonction, de la ligne de commande ou de quelque chose de similaire.
La sortie peut être via STDOUT, un retour de fonction ou quelque chose de similaire.
Cas de test
- Contribution:
Test.
Sortie possible: Test. M'kay.
- Contribution:
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.
Sortie possible: 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.
- Contribution:
Drugs are bad, so, if you do drugs, you're bad, because drugs are bad. They can hurt your body, cause drugs are bad.
Sortie possible: 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.
- Contribution:
Do you understand? Really? Good!
Sortie possible: Do you understand? MM'kay? Really? Good! MMM'kay!
Notation
C'est du code-golf , donc le code le plus court en octets gagne, m'kay?
M'kaya 50% de chance d'être ajouté après les ponctuations,.,? et! " semble être incompatible avec " Il doit toujours y avoir au moins un m'kayajouté ". S'il vous plaît clarifier que