前書き
私たち-特にファンになりがちな私たちの間のオタク-はすべて、この古いファーサイドの漫画を覚えています:
明らかに、シュワルツマン教授は、発明を使用する前に、ほんの少しだけプログラミングスキルを磨いたかもしれません。しかし、あなたはそれを自分で複製できますか?可能な限り少ないバイトを使用して?
入力仕様
犬の音を適切にイントネーションされた「ヘイ」に変換するスクリプトを作成する必要があります。これは純粋なコードゴルフです。最も少ないバイト数が優先されます。
入力は、次のトークンのいくつかの組み合わせで構成されます。
Bark、Baark、Baaark、Baaaark、...(すなわち、B*rk少なくとも1でaアスタリスクを置換します)Woof、Wooof、Woooof、...(W*f少なくとも有する2つのoSはアスタリスクを置換)Grr、Grrr、Grrrr、...、(G少なくとも、続いて2r秒)- 任意の数の
.(ピリオド)、!(感嘆符)、および/または?(疑問符)文字
繰り返しますが、-basedトークンWoofとGrr-basedトークンには、それぞれ少なくとも2つ oのsとrsが常に必要です。Wofおよび有効なトークンでGrはありません。
トークンの長さには制限がありません(たとえば、トークンにいくつaのsを繰り返すことができるかBark)。ただし、デコーダーは、このチャレンジに合格するために、合計で最大10個aのs、os、またはrsを持つ入力トークンに対してのみ正しく動作する必要があります。
出力仕様
シュワルツマンの設計に忠実に、犬のデコーダプログラムは次のようにそれを処理して出力テキストにする必要があります。
Bark、Woof、とGrrなりますHey。Baark、Wooof、とGrrrなりますHeyy。Baaark、Woooof、とGrrrrなりますHeyyy。等- すべての
Barkベースのトークンの場合、y出力Heyベースのトークンのas の数はs の数と等しくなければなりません。 - すべての
Woofベースのトークンの場合、y出力Heyベースのトークンのs の数はs の数より1少ない必要がありますo。 - すべての
Grrベースのトークンの場合、y出力Heyベースのトークンのs の数はs の数より1少ない必要がありますr。 - すべての句読点(
.、!、とは?)変更されません。
sとsのみのy出力から1つを削除することを忘れないでください!8 秒の入力は、8 秒の一致セットでになります。ただし、7 秒でのみになります。WoofGrrBaaaaaaaark?aHeyyyyyyyy?yWoooooooof?Heyyyyyyy?y
繰り返しますが、無制限のサイズの入力トークンでプログラムを動作させることができる場合、それは素晴らしいことですが、このチャレンジの目的のために、プログラムは10文字以内の入力トークンで適切に動作することを確認するためにのみチェックされます。
入力内のすべてのBark-、Woof-、および- Grrベースのトークンは、大文字で始まると想定されます。そのため、変化やそれに類似したものを処理する必要はありません。Bark grrrHey heyy
入力と出力の例
- 入力:
Bark. Bark! Bark!! - 出力:
Hey. Hey! Hey!!
- 入力:
- 入力:
Baaaaaark?(6as) - 出力:
Heyyyyyy?(6ys)
- 入力:
- 入力:
Grrrrrrrr...(8r秒) - 出力:
Heyyyyyyy...(7y秒)
- 入力:
- 入力:
?...! - 出力:
?...!
- 入力:
- 入力:
Wooof Woof? Grrrr. Baaaark Grr! - 出力:
Heyy Hey? Heyyy. Heyyyy Hey!
- 入力:

