挑战:
输入:
- 包含可打印ASCII的字符串(不包括空格,制表符和换行符)
- 布尔†
输出:
字符串的部分分为四组:
- 小写字母
- 大写字母
- 位数
- 其他
基于布尔值,我们要么输出这四个组中一个(或多个)中出现次数最高的一个,要么输出最低的,将所有其他内容替换为空格。
例如:
输入:"Just_A_Test!"
包含:
-3个大写字母:JAT
-6个小写字母:ustest
-0个数字
-3个其他:__!
这些将是true
或的输出false
:
true: " ust est "
// digits have the lowest occurrence (none), so everything is replaced with a space
false: " "
(注意:您可以忽略尾随空格,因此输出也可以分别为" ust est"
和""
。)
挑战规则:
- 输入将永远不会为空或包含空格,并且只能由范围为
33-126
或'!'
到的可打印ASCII组成'~'
。 - 如果需要,可以将输入和/或输出作为字符数组或列表。
- †允许布尔值有两个一致且不同的值:
true
/false
;1
/0
;'H'
/'L'
;"highest"
/"lowest"
; 等。请注意,这些不同的值应(以某种方式)用作布尔值!所以它不允许输入两个完整的程序,一个给出了正确的结果true
,另一个false
,然后让你的实际代码只<run input with parameter>
。我添加了相关的新默认漏洞,尽管它仍然可以对定义进行很多微调。 - 如果两个或多个组的出现相同,我们将输出所有这些出现。
- 必需的尾随空格是可选的,并且单个尾随换行符也是可选的。必需的前导空格是强制性的。不允许使用其他任何前导空格或换行符。
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法,完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
Inputs: Output:
"Just_A_Test!", true " ust est " (or " ust est")
"Just_A_Test!", false " " (or "")
"Aa1!Bb2@Cc3#Dd4$", either "Aa1!Bb2@Cc3#Dd4$"
"H@$h!n9_!$_fun?", true " @$ ! _!$_ ?"
"H@$h!n9_!$_fun?", false "H 9 " (or "H 9")
"A", true "A"
"A", false " " (or "")
"H.ngm.n", true " ngm n"
"H.ngm.n", false " " (or "")
"H.ngm4n", false "H. 4 " (or "H. 4")
H
和9
是的“最少”的一部分。
"max"
/ "min"
,然后将其Math[b]
用于引用Math.max
或Math.min
吗?
b?"max":"min"
你的答案..这是一条细线我想,也许我应该只使用下一次truthy / falsey值..
"H "
和" 9 "
(使用适当的空格)而不是"H 9"
?