这个挑战是NinjaBearMonkey赢得我的Block Building Bot群的奖励!挑战黑骑士的作品。恭喜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个NinjaBearMonkeys。
挑战
写一个程序或函数,它在字符的字符串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个NinjaBearMonkeys。