このチャレンジは、ブロックビルディングボットフロックを獲得したNinjaBearMonkeyの賞です!ブラックナイトの提出に挑戦してください。おめでとうございます、NinjaBearMonkey!
ここでの課題は非常に単純ですが、さまざまなアプローチが可能です。物語は、等尺性錯覚の世界には、6種類のクリーチャーがいるということです。
- 忍者、略称
N - クマ、略称
B - サル、略称
M - NinjaBears、略称
NB - BearMonkeys、略称
BM - NinjaBearMonkeys、略称
NBM
(NinjaBearMonkeyは、もちろん最後の、最も強力なタイプです。)
あなたの仕事は、これらのクリーチャーが並んでいるとき、つまり略語の文字列が連結されているとき、これらのクリーチャーの人口調査を取ることです。警告は、いくつかのクリーチャーの一部を偶然似ているように見える別個のクリーチャーとして数え過ぎないようにする必要があることです。クリーチャーは次のように並んでいます:
- のインスタンス
NBMは、1つのNinjaBearMonkeyと0の他のクリーチャーです。 - が
NB続かないインスタンスMは1匹のNinjaBearと0匹の他のクリーチャーです。 BMが前にないインスタンスNは、1 BearMonkeyと0他のクリーチャーです。- そうでない場合は、のインスタンス
N、BおよびMそれぞれ単一忍者、クマ、サルです。
行は左から右に読み取られます。
だから、例えば、生き物のラインで NBMMBNBNBM、0の忍者、1つのクマ、1つの猿、1つのNinjaBear、0のBearMonkeys、および2つのNinjaBearMonkeyがあります。
チャレンジ
文字の文字列を取り込みプログラムや関数を書くN、Bと、M、およびプリントや生き物の6種類のそれぞれの多くは、その中に存在しているかを返します。
出力の形式は次のとおりです。
#N #B #M #NB #BM #NBM
それぞれのクリーチャーが各#サインを置き換えます。6カウントはすべて、0であってもスペースで区切って表示する必要があります。ただし、それらは任意の順序である場合があります(例:#NBM最初に来る可能性があります)。
また:
- 入力文字列は、文字だけが含まれます
N、BとM。 - 空の文字列が入力された場合、すべてのカウントは0です。
- 出力には、オプションで、単一の先頭および/または末尾のスペース、および/または単一の末尾の改行を含めることができます。
バイト単位の最短提出が勝ちです。
例
入力:NB
出力:0N 0B 0M 1NB 0BM 0NBM
入力:NBM
出力:0N 0B 0M 0NB 0BM 1NBM
入力:(NBMMBNBNBM上記の例)
出力:0N 1B 1M 1NB 0BM 2NBM
入力:MBNNBBMNBM
出力:1N 1B 1M 1NB 1BM 1NBM
入力:NNNMNBMMBMMBMMMNBMNNMNNNBNNNBNBBNBNMMNBBNBMMBBMBMBBBNNMBMBMMNNNNNMMBMMBM
出力:17N 6B 14M 5NB 8BM 3NBM
NBMNBMは完全に有効な入力です。左から右に読むと、明らかに2つのNinjaBearMonkeyがあります。