に触発されていますか?、私はより難しい挑戦を考案しました。文字列の場合、文字列を考えると、決定のn-話すいずれかのために、。
N-speakは、各文字を回繰り返すことで定義されます。で、文字列がHello
に変換されますHHHHeeeelllllllloooo
。あなたの目標は、入力がnピーク変換の有効な出力であるかどうかを把握することです。
場合に有効なn話である文はすべて、k話でも有効であることに注意してください。したがって、解くのが難しい部分は奇数値になります。
入力
少なくとも2文字で構成される文字列。入力には文字のリストも使用できます。入力では大文字と小文字が区別されます。
出力
Truthy
文字列がn-speakのfalsey
場合、そうでない場合。
例
真のケース
HHeelllloo,, wwoorrlldd!!
TTTrrriiipppllleee ssspppeeeaaakkk
QQQQuuuuaaaaddddrrrruuuupppplllleeee ssssppppeeeeaaaakkkk
7777777-------ssssssspppppppeeeeeeeaaaaaaakkkkkkk
999999999
aaaabb
aaaaaaaabbbbcc
aaaaabbbbb
@@@
追加の真実ケースを生成する場合は、このMathGolfスクリプトを使用できます。文字列を引用符で囲み、入力としての値を配置します。
偽例
Hello, world!
TTTrrriiipppllleee speak
aaaaaaaaaaaaaaaab
Ddoouubbllee ssppeeaakk
aabbab
aaaabbb
a (does not need to be handled)
(empty string, does not need to be handled)
もちろん、これはコードゴルフなので、いくつかのバイトをトリミングする準備をしてください!
aaaabbb
aabbab