这是在Pyth打高尔夫球时可以使用的技巧和优化的挑战。Pyth高尔夫球手可能会意识到其中涉及的许多技巧。但是,可能会涉及到不熟悉的方法和构造,因此如果遇到困难,请查看Pyth技巧以及Pyth角色参考。解决方案可以在这里进行测试。
目标:有8个问题,每个问题都有一个Pyth代码段供您优化。您的目标是创建等效但更短的对象。参考解决方案总共80个字节。您的目标是尽可能地击败它。
获胜者将参加以最小总字节数解决所有8个问题的提交。Tiebreaker是较早的帖子。
回答:除了总分,请破坏您的整个答案。您打算在提交自己的答案之前不要看别人的答案。
每个提交都应回答每个问题并给出相应的字节数,但是如果无法改进参考实现,请随意使用。
详细说明:如果一定值或输出的问题通话,q
平等是需要的,所以1
和!0
是等价的。如果问题要求测试条件是否为真,则条件为真时输出必须为真,如果条件为假则输出为假,但不受此限制。您可能无法将true替换为false,或者将false替换为true。如果问题要求打印某些内容,则除了尾随换行符外,其他任何内容都无法打印。
问题1:给定Q中的集合,以任何顺序输出包含Q元素的列表。
; 3 bytes
f1Q
问题2:输出列表[1, 1, 0, 0, 1, 1, 0]
。
; 9 bytes
[J1JZZJJZ
问题3:给定Q中的正整数,请测试Q的所有数字是否均为正(而不是零)。
; 7 bytes
!f!TjQT
问题4:给定z中的字符串,请测试z是否包含引号- "
或'
。
; 9 bytes
|}\'z}\"z
问题5:将 Q = 1映射为“赢”,将Q = 0映射为“平局”,将Q = -1映射为“输”。
; 20 bytes
@["Tie""Win""Lose")Q
问题6:打印0123456789
。
; 6 bytes
sm`dUT
问题7:给定z中的字符串,请计算反转次数。
(索引i
和j
形成反如果i < j
但z[i] > z[j]
)。
; 17 bytes
ssmm>@zd@zkrdlzUz
问题8:给定z中的列表,计算重复的相邻元素的数量。
; 9 bytes
lfqFT.:z2
f1Q
过滤Q
,因此它将始终输出集合中的每个元素。f
输出一个列表,该列表符合该问题的目标。