给定两个字符串的输入,下划线表示相应的单词,输出带有“空白”的句子。
描述此挑战的最佳方法是举例。这是一个示例输入:
programming _____________ and code golf
programming puzzles ______ code ____
这是对应的输出:
programming ___puzzles___ and code golf
programming puzzles _and__ code golf
出于此挑战的目的,“单词”定义为一个或多个小写字母的序列,“空白”定义为一个或多个下划线(输入将始终仅包含小写字母,空格和下划线) 。输入字符串中的单词和空格由单个空格分隔,并且句子中单词和空格的总和将始终相等。
挑战的目的是用正确的 词填充所有空白,即当用空格分隔时,在其他字符串中占据相同索引的词。
如上例中的单词“ puzzles”所示,该单词必须居中于空白处—两侧均保留相同数量的下划线。
如果该单词不能精确居中,则多余的下划线可能在左侧或右侧(例如,上例中的单词“ and”)。
总是有足够的下划线使该单词适合,但可能与该单词的长度一样多(例如,上例中的单词“ golf”)。
两个字符串中相同位置永远不会有空格。
输入/输出可以是以下任意一种(输入/输出不一定必须通过相同的方法):
单个字符串,由任何非字母,空格或下划线的字符分隔(例如,换行符或逗号分隔的字符串)
数组/列表/等。两个弦
两个功能/命令行参数(仅输入)
由于这是code-golf,因此以字节为单位的最短代码将获胜。
上面的示例可以用作测试用例。这是一个较大的测试用例(由于居中行为不同,输出中的第二个字符串可能会略有不同):
lorem _____ dolor _____ amet _______________ adipiscing elit mauris dapibus tincidunt _____________________________ accumsan fringilla proin vulputate viverra lorem fermentum dictum
lorem ipsum ______ sit _______ consectetur _______________ elit mauris dapibus tincidunt metus accumsan fringilla proin vulputate viverra lorem ____________________________ dictum
lorem ipsum dolor _sit_ amet __consectetur__ adipiscing elit mauris dapibus tincidunt ____________metus____________ accumsan fringilla proin vulputate viverra lorem fermentum dictum
lorem ipsum dolor_ sit _amet__ consectetur __adipiscing___ elit mauris dapibus tincidunt metus accumsan fringilla proin vulputate viverra lorem _________fermentum__________ dictum