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'kay
a 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'kay
possible 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'kay
ajouté . De plus, il ne peut pas toujours se trouver au même endroit et chaque endroit valide oùm'kay
il est possible d’ajouter doit avoir la même probabilité. C'est-à-dire que vous ne pouvez pasm'kay
toujours 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'kay
est après?
,.
ou!
, lem
doit être en majuscule.Le nombre d'
m
inm'kay
doit être choisi uniformément entre 1 et 3. C'est-à-direm'kay
,mm'kay
etmmm'kay
sont tous des choix possibles, chacun avec une probabilité de 0,33 ... S'il doit être mis en majuscule (voir la règle ci-dessus), toutm
doit ê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'kay
ou 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'kay
a 50% de chance d'être ajouté après les ponctuations,.,? et! " semble être incompatible avec " Il doit toujours y avoir au moins un m'kay
ajouté ". S'il vous plaît clarifier que