このチャレンジは、ブロックビルディングボットフロックを獲得した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があります。