このxkcdに触発された
あなたはシャザムで働いており、彼らはあなたのためのプロジェクトを持っています。一部の顧客は、アプリが携帯電話で多くのスペースを占有していることに不満を持っているため、アプリのライトバージョンをコーディングしてほしいと考えています。残念ながら、既存のコードは「na」という単語しか理解できないため、すぐに出荷する必要があります。それは大丈夫です、私たちは持っているもので最善を尽くします。
チャレンジ
ユーザー入力またはコマンドライン引数を取る完全なプログラムを作成し、曲のタイトルとアーティストを印刷する必要があります。プログラムのサイズについて不満を持っているお客様を修正しようとしているため、コードはできるだけ短くする必要があります。入力はnaのみで構成された文字列であり、その間に単一のスペースがあります。小文字/大文字は任意です。これは有効な入力と見なされます:Na Na nA na NA
これは無効な入力です:nah nah NA naNa banana
どの曲が再生されているかを判断し、正確に次の形式で出力する必要があります。
Song: <trackname>
Artist: <artist>
入力が正確に 8 naの場合、これは2つの別個の曲に一致するため、両方を印刷する必要があります。
Song: Batman Theme
Artist: Neal Hefti
そして
Song: Na Na Hey Hey Kiss Him Goodbye
Artist: Steam
入力が正確に 10 naの場合、次を印刷する必要があります。
Song: Katamari Damacy
Artist: Yuu Miyake
入力が正確に 11 naの場合、次を印刷する必要があります。
Song: Hey Jude
Artist: The Beatles
入力が12以上のnaの場合、印刷する必要があります
Song: Land Of 1000 Dances
Artist: Wilson Pickett
最後に、入力が無効であるか、naが8個未満であるか、いずれかの単語が「na」ではない場合、プログラムは音楽を理解できません。論理的には、他の歌はたった1つしかありません。印刷する必要があります:
Song: Africa
Artist: Toto
通常どおり、標準の抜け穴が適用され、バイト単位の最短回答が優先されます。
na
sではありませんか?私はそれを聞いたところ、それは(音符の長さに関して)quarter quarter quarter quarter / eighth sixteenth sixteenth quarter-quarter-quarter / eighth sixteenth quarter-quarter-quarter
12 na
秒であると思いました。
onnnnnnnnne-one-three-one-a-two-threeeeeeeeeee-one-a-two-threeeeeeee-hey-jude
間違いなく11
na na / na na / na na / na na
x2 batman
です。コミックを二度目に見たことに気づきました。