introduction
Nous - en particulier les geeks parmi nous, qui ont tendance à être des fans - nous souvenons tous de ce vieux dessin animé de Far Side :
De toute évidence, le professeur Schwartzman aurait pu peaufiner ses compétences en programmation juste un peu plus avant de mettre son invention à profit. Mais pouvez-vous le reproduire vous-même ... en utilisant le moins d'octets possible?
Spécifications d'entrée
Vous devez créer un script qui traduit les sons de chien en "Hey" correctement intonés. C'est du golf à code pur; le plus petit nombre d'octets gagne.
Votre entrée consistera en une combinaison des jetons suivants:
Bark,Baark,Baaark,Baaaark, ... (qui est,B*rkavec au moins uneasubstitution , l'astérisque)Woof,Wooof,Woooof, ... (W*fd'au moins 2os remplaçant l'astérisque)Grr,Grrr,Grrrr, ..., (Gsuivie d'au moins 2rs)- N'importe quel nombre de caractères
.(point),!(point d'exclamation) et / ou?(point d'interrogation) pouvant apparaître n'importe où dans l'entrée
Notez, encore une fois, que les jetons Woofbasés et Grrbasés nécessitent toujours au moins deux o s et rs respectivement; Wofet neGr sont pas des jetons valides.
Il n'y a pas de limite sur la durée d'un jeton (par exemple, combien de as répétés il peut y avoir dans un Barkjeton); cependant, votre décodeur n'a besoin de fonctionner correctement que pour les jetons d'entrée avec jusqu'à 10a s, os ou rs au total pour réussir ce défi.
Spécifications de sortie
Fidèle à la conception de Schwartzman, votre programme de décodeur canin doit le traiter en texte de sortie comme suit:
Bark,WoofEtGrrdevenirHey;Baark,WooofEtGrrrdevenirHeyy;Baaark,WoooofEtGrrrrdevenirHeyyy; etc.- Pour tous les
Barkjetons basés sur, le nombre deys dans leHeyjeton basé sur la sortie doit être égal au nombre deas; - Pour tous les
Woofjetons basés sur, le nombre deys dans leHeyjeton basé sur la sortie doit être inférieur de un au nombre deos; - Pour tous les
Grrjetons basés sur, le nombre deys dans leHeyjeton basé sur la sortie doit être inférieur de un au nombre ders; - Tous les signes de ponctuation (
.,!et?) reste inchangé.
N'oubliez pas d'en supprimer un yde la sortie pour Woofs et Grrs uniquement! L'entrée Baaaaaaaark?, avec 8 as, deviendra Heyyyyyyyy?, avec un ensemble correspondant de 8 ys. Cependant, Woooooooof?devient seulement Heyyyyyyy?, avec 7 ys.
Encore une fois, si vous pouvez faire fonctionner votre programme pour des jetons d'entrée de taille illimitée, c'est parfait, mais aux fins de ce défi, votre programme ne sera vérifié que pour s'assurer qu'il fonctionne correctement pour les jetons d'entrée qui n'ont pas plus de 10 lettres répétées. .
Tous les jetons Bark-, Woof- et Grrbasés dans votre entrée sont supposés commencer par des majuscules. Par conséquent, il n'est pas nécessaire de gérer la transformation Bark grrren Hey heyyou quelque chose de similaire.
Exemples d'entrées et de sorties
- Contribution:
Bark. Bark! Bark!! - Sortie:
Hey. Hey! Hey!!
- Contribution:
- Entrée:
Baaaaaark?(sixas) - Sortie:
Heyyyyyy?(sixys)
- Entrée:
- Entrée:
Grrrrrrrr...(huitrs) - Sortie:
Heyyyyyyy...( septys)
- Entrée:
- Contribution:
?...! - Sortie:
?...!
- Contribution:
- Contribution:
Wooof Woof? Grrrr. Baaaark Grr! - Sortie:
Heyy Hey? Heyyy. Heyyyy Hey!
- Contribution:

