Einführung
Wir - vor allem die Geeks unter uns, die eher Fans sind - erinnern uns alle an diesen alten Far Side- Cartoon:
Offensichtlich hätte Professor Schwartzman seine Programmierkenntnisse ein wenig auffrischen können, bevor er seine Erfindung in die Tat umsetzte. Aber können Sie es selbst replizieren ... mit so wenig Bytes wie möglich?
Eingangsspezifikationen
Sie müssen ein Skript erstellen, das Hundegeräusche in entsprechend intonierte "Hey" übersetzt. Das ist reines Code-Golf. die niedrigste Anzahl von Bytes gewinnt.
Ihre Eingabe besteht aus einer Kombination der folgenden Token:
Bark,Baark,Baaark,Baaaark, ... (das heißt,B*rkmit mindestens 1aden Stern ersetzt)Woof,Wooof,Woooof, ... (W*fmit mindestens 2os den Stern ersetzt)Grr,Grrr,Grrrr, ..., (Gmindestens gefolgt 2rs)- Beliebige Anzahl von
.(Punkt),!(Ausrufezeichen) und / oder?(Fragezeichen) Zeichen, die an einer beliebigen Stelle in der Eingabe vorkommen können
Es ist wiederum zu beachten, dass die Tokens Woof-basiert und Grr-basiert immer mindestens zwei o s bzw. rs erfordern . Wofund Grsind keine gültigen Token.
Es gibt keine Begrenzung für die Länge eines Tokens (z. B. wie viele wiederholte as in einem BarkToken enthalten sein können). jedoch Decoder benötigen nur mit korrekt für die Eingabe - Token arbeiten bis zu 10 Gesamt as, os oder rs , diese Herausforderung zu bestehen.
Ausgangsspezifikationen
Getreu dem Entwurf von Schwartzman muss Ihr Hunde-Decoder-Programm diesen wie folgt in Ausgabetext umwandeln:
Bark,WoofUndGrrwerdenHey;Baark,WooofUndGrrrwerdenHeyy;Baaark,WoooofUndGrrrrwerdenHeyyy; etc.- Für alle
Bark-basierten Token muss die Anzahl derys imHeyausgabebasierten Token gleich der Anzahl deras sein. - Für alle
Woof-basierten Token muss die Anzahl derys imHeyausgabebasierten Token um eins niedriger sein als die Anzahl deros. - Für alle
Grr-basierten Token muss die Anzahl derys imHeyausgabebasierten Token um eins niedriger sein als die Anzahl derrs. - Alle Interpunktion (
.,!und?) bleibt unverändert.
Vergessen Sie nicht, einen yfür Woofs und Grrs aus der Ausgabe zu entfernen ! Der Eingang Baaaaaaaark?mit 8 as wird Heyyyyyyyy?mit einem passenden Satz von 8 ys. Allerdings Woooooooof?wird nur Heyyyyyyy?mit 7 ys.
Wiederum, wenn Sie Ihr Programm für Eingabetoken mit unbegrenzter Größe zum Laufen bringen können, ist das großartig, aber für die Zwecke dieser Herausforderung wird Ihr Programm nur überprüft, um sicherzustellen, dass es für Eingabetoken mit nicht mehr als 10 wiederholten Buchstaben ordnungsgemäß funktioniert .
Es wird davon ausgegangen, dass alle Bark-, Woof- und Grr-basierten Token in Ihrer Eingabe mit Großbuchstaben beginnen. Es ist daher nicht erforderlich , sich um das Drehen Bark grrrin Hey heyyoder ähnliches zu kümmern.
Beispiel Ein- und Ausgänge
- Eingang:
Bark. Bark! Bark!! - Ausgabe:
Hey. Hey! Hey!!
- Eingang:
- Eingabe:
Baaaaaark?(sechsas) - Ausgabe:
Heyyyyyy?(sechsys)
- Eingabe:
- Eingabe:
Grrrrrrrr...(achtrs) - Ausgabe:
Heyyyyyyy...( siebenys)
- Eingabe:
- Eingang:
?...! - Ausgabe:
?...!
- Eingang:
- Eingang:
Wooof Woof? Grrrr. Baaaark Grr! - Ausgabe:
Heyy Hey? Heyyy. Heyyyy Hey!
- Eingang:

