这个挑战是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。