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