首页
学习
活动
专区
圈层
工具
发布

扭曲句
EN

Code Golf用户
提问于 2017-02-07 18:44:38
回答 2查看 495关注 0票数 16

规则

程序应该接收一个字符串/单词数组作为输入。对于字符串/数组中的每个单词,它将从单词的前后交替提取字符,从而重建单词。

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输出:

这是密码-高尔夫,所以最短的代码获胜

EN

回答 2

Code Golf用户

发布于 2017-02-07 22:52:14

JavaScript (ES6),89字节

获取并输出一系列单词。

代码语言:javascript
复制
a=>a.map(w=>(F=([a,...b])=>a?a+(b.pop()||'')+F(b):'')(a.map(F)).slice(p,p+=w.length),p=0)

测试

代码语言:javascript
复制
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."])
  )
);

字符串版本,112个字节

获取并输出字符串。

代码语言:javascript
复制
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)

测试

代码语言:javascript
复制
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`))
票数 2
EN

Code Golf用户

发布于 2020-10-06 15:36:17

外壳,14字节

代码语言:javascript
复制
UΣSze↔mȯUΣSze↔

在网上试试!

这不适用于可重用的函数,因为函数只能支持一种类型的参数。

票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/109425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档