程序应该接收一个字符串/单词数组作为输入。对于字符串/数组中的每个单词,它将从单词的前后交替提取字符,从而重建单词。
12345 678 9 -> 15243 687 9
然后,它将在字符串中最早出现的单词和最近出现的单词之间交替排列单词。
15243 687 9 -> 15243 9 687
最后,它将通过在索引中放置空格、制表符和换行符来重构字符串,然后输出结果。
12345 678 9-> 15243 687 9 -> 15243 9 687 -> 15243 968 7
输出应该与输入相同的数据类型。
标准漏洞被禁止
输入: 快速褐狐跳过懒惰的dog.输出: d.ogq假设输入: ,快速褐狐jumps,超过惰性dog.输出: d.ogq kucil tehf输入: Aflack输出:
这是密码-高尔夫,所以最短的代码获胜
发布于 2017-02-07 22:52:14
获取并输出一系列单词。
a=>a.map(w=>(F=([a,...b])=>a?a+(b.pop()||'')+F(b):'')(a.map(F)).slice(p,p+=w.length),p=0)测试
let f =
a=>a.map(w=>(F=([a,...b])=>a?a+(b.pop()||'')+F(b):'')(a.map(F)).slice(p,p+=w.length),p=0)
console.log(
JSON.stringify(
f(["The","quick","brown","fox","jumps","over","the","lazy","dog."])
)
);获取并输出字符串。
s=>s.replace(/\S+/g,w=>(F=([a,...b])=>a?a+(b.pop()||'')+F(b):'')(s.split(/\s/).map(F)).slice(p,p+=w.length),p=0)let f =
s=>s.replace(/\S+/g,w=>(F=([a,...b])=>a?a+(b.pop()||'')+F(b):'')(s.split(/\s/).map(F)).slice(p,p+=w.length),p=0)
console.log(f(`The quick brown fox jumps over the lazy dog.`))
console.log(f(`The quick brown fox jumps
over the lazy dog.`))
console.log(f(`Aflack`))https://codegolf.stackexchange.com/questions/109425
复制相似问题