受C指令启发#define
。
挑战
给定一个带有一些别名的短语,以及每个别名文本一个数组。输出初始短语,将每个别名替换为其相应的文本。
别名由一个尖锐字符定义,#
后跟其在数组中的索引(索引可以从零或一开始)定义。别名可以在其文本内包含另一个别名,您必须解析所有别名(可能是递归的)。您可以假设别名永远不会陷入无限循环。别名不会有前导零(#02
不是index 2
处的别名,而是index 0
后面是文本的别名2
)。
您可以假设数组长度不超过20个项目。
您可以编写程序,函数或什至#define
-都不错:)
您还可以使用另一种更适合您的语言的输入法。
例
phrase: "#0 & #3"
array: [
"Programming #1",
"Puzzles",
"Code",
"#2 Golf"
]
output: "Programming Puzzles & Code Golf"
一步步:
0> "#0 & #3"
1> "Programming #1 & #2 Golf"
2> "Programming Puzzles & Code Golf"
由于这是 代码高尔夫球,最短答案以字节为单位!
另一个样品
phrase: "#0!"
array: [
"We are #1",
"#2",
"#3",
"#4 !",
"graduating"
]
output: "We are graduating !!"
phrase: "##0#1#0#21#3#4"
array: [
"a",
"m",
"z",
"n",
"g"
]
output: "#amaz1ng"
phrase: "##1#23"
array: [
"WEIRD",
"0 C",
"AS"
]
output: "WEIRD CAS3"
phrase: "#1#7#6y#4#7#10s#7b#11#0#0#11r#7#0h#6#5#2#5#9#4."
array: [
"t",
"#12#3",
"#11ga#3",
"#0#10v#11",
"#0h#10#8g",
"#7#8",
"a#8",
" ",
"n",
"o",
"i",
"e",
"P#9s#10"
]
output: "Positive anything is better than negative nothing."
上面的示例使用索引从零开始的Array。
@FryAmTheEggman。在这种情况下,您应该忽略
—
删除了
#01
轻松使用0-9的python,令人费解的尝试将0-19最小化:D
—
Antti Haapala
在看起来很简单的问题中隐藏着令人惊讶的复杂性。好问题!
—
乔什
#0
出现而不应该出现的情况?还是#01
有效的,但不是别名(即,它照原样保留)?