Questions tagged «string»

通过使用和操纵琴弦来解决特定问题的竞赛。

23
弦距
挑战 给定全小写字符串的输入[a-z],输出字母之间的总距离。 例 Input: golf Distance from g to o : 8 Distance from o to l : 3 Distance from l to f : 6 Output: 17 规则 禁止标准漏洞 这是代码高尔夫球 -最短的答案以字节为单位。 可以从任一方向遍历字母。您必须始终使用最短路径。(即,距离之间x和c为5)。 测试用例 Input: aa Output: 0 Input: stack Output: 18 Input: zaza Output: 3 Input: valleys Output: 35

7
解密神经性青蛙
解密神经性青蛙 既然Puzzling.SE终于破解了我的两栖类密码,让我们编写一个程序或函数对其解密吧! (如果您想在迷惑之前先看一下它,请立即单击上面的链接。) 密码如何工作 神经症蛙ö ught向rel 一个 X在中号 UD浴场(“神经质青蛙”的简称),每一个字母被加密为一个或两个词: 非斜体字的长度表示字母。 neurotic => 8个字母=> H frogs => 5个字母=> E perpendicular => 13个字母= M 包含斜体的单词会修改以下单词,如果斜体单词的长度为奇数,则增加10;如果斜体单词的长度为偶数,则增加20。任何或所有单词都可以斜体显示。斜体字总是跟着非斜体字。 *o*ught to =>奇数,2 => 12 => L lo*u*nging calms =>偶数= 5 => 25 => Y 每个明文单词对应一个密文句子,每个明文句子对应一个密文段落。 输入格式 您的程序或功能应以“神经青蛙”的形式输入消息,格式为Markdown。输入将仅包含可打印的ASCII和换行符。 单词是与正则表达式匹配的字符行[A-Za-z0-9']。 数字和字母均计入一个单词的长度。QB64代表D。 注意:撇号不会计入单词的长度。Isn't代表D,不是E。 斜体字母包裹在一个星号(*letters*)中。 一个或多个连续字母可以斜体显示,直到整个单词(masseus*es*,*all*);单词中的多个非连续字母也可以用斜体(g*e*n*e*rates)表示。 斜体字不包含多个单词,不包含标点符号,也不包含撇号。 未配对的星号和多个相邻的星号将永远不会发生。 标点是以下任意字符:.,?!:;-()"。 句子中的单词由一个或多个标点符号和/或单个空格分隔。例如:*all* …

8
大家一起成就更多
(相关:一,二,三) 一个离合词是诗的风格/写,其中每行的开始字符,当垂直读取,还产生一个字或消息。例如, Together Everyone Achieves More TEAM垂直阅读第一列时也会拼出单词。 离合诗是的一个子集mesostic s,其中所述垂直字可以是在水平字的任何地方。例如,TEAM上面的代码也可以写成如下 togeTher everyonE Achieves More 以及其他几种变体。 这里的挑战将是从给定的输入单词列表中产生杂音或杂音。 输入值 以任何适当格式的单词列表。 该列表将仅包含小写的单词[a-z]。 该列表可确保形成杂音或杂音(无需处理虚假输入)。 输入中的一个单词将构成垂直单词,而其余单词将成为水平单词-这里的挑战是找到合适的垂直单词,因此不能单独使用。 输出量 由输入字形成的ASCII艺术的杂音或中音,以任何合理的格式写入STDOUT或返回。 相应的垂直词必须大写(如示例中所示)。 前导空格,以获得垂直字排队适当的要求。尾随空格和尾随换行符是可选的。只要单词正确对齐,多余的前导空格也可以。 如果同时具有杂技和杂技,则仅输出杂技。 如果可能的杂项/杂项不止一个,则您的代码可以输出其中的任何一个或全部。 规则 完整的程序或功能都是可以接受的。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 ['together', 'team', 'everyone', 'achieves', 'more'] Together Everyone Achieves More ['aaa', 'aaa', 'aaa', 'aaa'] Aaa Aaa Aaa # One output, …

7
复合英语
复合词是其中包含2个或更多词的词。但是,我们可以做得更好。我们需要您创建一个包含所有单词的1(无意义)单词。 但是,我们希望这个词尽可能短。我们可以使用重叠的字母来实现此目的。 例如,如果您的单词列表为["cat", "atom", "a"],则需要返回"catom"。 输入输出 您的程序需要将单词列表作为输入,并返回复合单词作为输出。 根据Google的说法,您将使用的单词列表是英语中排名前10000的单词(如果发现这个列表太简单了,我可以将其更改为更长的单词)。作为参考,只需在每个单词后面附加一个65888的分数即可。 您的分数是您最后一个单词中的字母数,越低越好。抢领带的人去了第一张海报。

22
将指数转换为ASCII艺术
任务 您的任务是像这样转换字符串: abc^d+ef^g + hijk^l - M^NO^P (Ag^+) 要这样的字符串: d g l N P + abc +ef + hijk - M O (Ag ) 这是对abc d + ef g + hijk l -M N O P(Ag +)的近似值 换句话说,将字符直接插入到插入符号的上方,抬起一行,一个字符插入一个插入符号。 眼镜 输出中允许多余的尾随空格。 不会提供像这样的链式插入符号m^n^o作为输入。 插入符号不会立即跟随空格或其他插入符号。 尖号之前不会立即有空格。 所有插入符号的前面均应至少包含一个字符,然后至少应包含一个字符。 输入字符串将仅包含可打印的ASCII字符(U + 0020-U + 007E) 代替两行输出,您可以输出两个字符串的数组。 …

30
莉丝·坦珀斯
前几天,我的朋友做了一个轻快的翻译器,也就是说,它花了一个字符串并转换了s => th和S => Th。时间很长,我认为可以打高尔夫球。 因此,任务是制作一个程序/函数,以接收输入字符串,将其转换为lisp并输出字符串 测试用例 Sam and Sally like Sheep Tham and Thally like Thheep Sally likes sausages Thally liketh thauthageth Sally sells seashells Thally thellth theathhellth 请注意,h一直重复都没关系 这是代码高尔夫球,所以最短答案胜出
28 code-golf  string 

18
生存还是毁灭
在尽可能少的字节中,确定每个给定的两个值是否与以下之一匹配: 第一价值 2 string or integer - whichever you prefer to case insensitive too case insensitive two case insensitive t0 case insensitive (t zero) 第二值 b case insensitive be case insensitive bee case insensitive b3 case insensitive 例子 2 'Bee' true '2' 'b' true 'not to' 'be' false 'that is' …
28 code-golf  string 

30
在相同位置保持大写字母的同时反转字符串
这里的目标是简单地扭转字符串,但 要扭转一圈:将大写字母保留在同一位置。 示例输入1:Hello, Midnightas 示例输出1:SathginDim ,olleh 示例输入2:示例.Q 输出2:q. 规则: 输出到STDOUT,从STDIN输入 获奖者将于7月13日GMT + 3 12:00(一周)被选出 输入只能由ASCII符号组成,这使不使用包含非ASCII字符的任何编码的程序更容易。 任何以大写字母结尾的标点符号都必须忽略。
28 code-golf  string 

10
异形图,回文,哦,我的天!
(第一个挑战,请让我知道它是否有任何问题。) 一个heterogram是在没有字母表的字母出现不止一次一个词,一个回文是一个短语,是一样的向后和向前。 这里的挑战是编写一段代码,将一个单词(仅一个字母)作为输入,并输出它是否是一个异义字(真实/虚假)。问题在于程序必须是回文式-前后读取相同的内容。资本并不重要位置,因此对于heterogram是有效的它不能有Q和Q,例如。不允许注释,并且您不能放置包含代码(或代码的重要部分)的字符串来尝试使回文部分变得容易:P 这是代码高尔夫球,因此最短的代码获胜。祝好运! 编辑:回文部分的括号,方括号或其他具有左右形式的符号必须适当颠倒。因此(helloolleh)是回文,但是(helloolleh(不是。显然,这被称为便捷回文。 编辑2:您将不会得到任何空输入,输入多个单词或输入除字母之外的其他字符。所以不用担心:)

30
字长的水平图
输入值 由任意数量的空格分隔的单词列表。 输出量 水平ASCII艺术图,其中第n行由*与第n个单词一样多的星号()组成。 用法示例 该>信号的用户输入,你不应该测试程序时输入它。 > This is an example histogram of word length **** ** ** ******* ********* ** **** ****** > a aa aaa aaaa aaaaa * ** *** **** ***** > double space example ****** ***** ******* 参考实施 如果对规格有疑问,则在所有输入下,程序的输出应与以下程序的输出完全匹配。 puts gets.chomp.split.map{|word| '*' * word.length}.join("\n")

30
转置一页文字
编辑我修改了规则的措词,使一些隐含的内容更加明确。我还强调了一些明显的混淆,并明确定义了制作独立程序而不是函数的选项。 这里的目标是创建一个接受文本文件(或字符串)并对其进行转置的函数,以使行成为列,反之亦然。 例: 我是文字。 转置我。 你可以做到吗? 结果是: 国贸中心 拉 an mn sy 载脂蛋白 OU ts 杂草 o Tm值 .ei .t ? 规则: 您可以假定使用的唯一空格字符是" "并且"\n"在任何行上都没有尾随空格。 您可以假定文件是ASCII。您要使用哪个终端标记(CRLF或LF)。它必须在示例中正确运行,但也应在满足上述假设的任何输入下工作。 您可能必须在没有空格的地方插入空格(如示例中所示),以使列保持一致。 您的结果在任何行上都不能包含尾随空格。 最后的换行符(用于最后一行)是可选的。 它应该是一个功能或一个完整的程序。如果您的函数接受字符串,则它应该以字符串形式返回结果。如果它接受文件名,则返回保存结果的文件名。另外,您还可以编写一个完整的程序,该程序接受来自STDIN的输入并将正确的结果输出到STDOUT。如果这样做,则不得将任何内容输出到STDERR。 最短的程序胜出,但我会赞成我喜欢的任何答案。 根据规则,示例中的输出长度为53或52个字节(对于LF换行符),具体取决于是否包含最终换行符。 注意:这不是特定的要求,但是如果您的函数连续运行两次时与原始函数不同(最终的换行符可能会有所不同,并且文件末尾的任何空行都将被删除),那么您就是可能违反其中一项规则。
28 code-golf  string 

9
“您必须建造更多的塔!”
介绍 在策略游戏《星际争霸2》中,有三个“种族”可供选择:人族,虫族和神族。在这一挑战中,我们将重点关注神族和标志性短语“您必须建造更多的塔!” 当您用尽兵力建立军队时,就会显示此信息。因此,要帮助Starcraft社区,您必须编写一个程序或函数来告诉玩家他们到底需要多少个挂架。 挑战 您将得到一个字符串输入,该字符串由一个整数N和以空格分隔的单位列表组成。N将始终为零或正数,并且单位列表将始终具有一个或多个有效单位。N代表玩家当前拥有的塔架数量。您的工作是计算玩家所拥有的塔架数量是否足以构建单位。你的程序或函数必须输出/返回truthy值,如果有足够的供应,或者如果没有足够的供应,你必须输出You must construct ZZZ additional pylons哪里ZZZ是建设单位需要挂架的量。请注意,pylon(s)在需要时必须为复数,而在不需要时为(...1 additional pylon!,...2 additional pylons!),则不能为复数。 神族单位和供应成本 这是所有单位及其相应供应成本的列表。挂架额外提供8个电源。 Unit Supply Cost Probe 1 Zealot 2 Sentry 2 Stalker 2 HighTemplar 2 DarkTemplar 2 Immortal 4 Colossus 6 Archon 4 Observer 1 WarpPrism 2 Phoenix 2 MothershipCore 2 VoidRay 4 Oracle 3 Tempest …

30
更轻松的通信意味着更快的编码意味着更少的编码器意味着……
我父亲是一个非常出色的APL 专家,曾教过我APL的所有基础知识(以及更多),五年前的这一天就去世了。在准备APL 50年的过程中,我发现了这封专利信函(为不读丹麦语的人提供了便利),以作为手写徽标。它解释了APL从未赢得大量用户的主要原因-当然也适用于该社区所有令人惊叹的高尔夫语言的原因: 3497/77要求 1977年8月29 日下午13点 工程咨询公司Henri Brudzewsky,位于索堡的Mindevej 28, 第9类,包括计算机,尤其是APL编码的计算机, 第42类: IT服务代理公司,尤其是在使用APL编码的计算机期间。 任务 产生无重复EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS 行的文本的无限重复输出。您可以以EASIER或FASTER或开头文本FEWER。

30
大写字母与小写字母的比率
在这个挑战中,您和您的朋友正在争论哪种情况更好,大写还是小写?为了找出答案,您编写了一个程序来为您执行此操作。 由于esolang会吓your您的朋友,而冗长的代码会吓you您,因此您的代码将需要尽可能短。 例子 PrOgRaMiNgPuZzLeS & CoDe GoLf 0.52 uppercase DowNGoAT RiGHtGoAt LeFTGoat UpGoAT 0.58 uppercase Foo BaR Baz 0.56 lowercase 技术指标 输入将仅包含ASCII字符。所有非字母字符都应忽略。每个案例至少要有1个字符 输出应该是字母字符总数中出现频率最高的情况。它应该是一个精确到至少 2个小数位的小数。如果大写字母出现得更频繁,则输出应以uppercase或结束lowercase。 永远不会有相同数量的大写和小写字符。
28 code-golf  string 

8
贪婪的刀
iBug最近获得了由复合材料但有价值的材料制成的长条。该栏太长了,以至于iBug不能轻易将其出售以换取积分,因此他想削减它。杆由易碎的魔术材料制成,如果零件断裂,则由相同材料制成的杆的所有部分也会断裂,从而难以任意切割。 iBug希望将标尺切成尽可能多的片段。他还喜欢很短的程序和代码编程,因此对他的问题进行了抽象分析。 iBug的魔力棒表示为字符串(或者,如果愿意,可以表示为数组或字符序列),如下所示: aaabbccccccbbbaaacccccaabbbaaaaa 字符串中的每个字母代表一种魔术材料。该条始终与RegEx相匹配^\w*$,因此条中最多可以包含63种材料。“部分”是由空格分隔的任何字符的连续序列。 iBug希望您编写一个程序,如果完全删除了零个或多个字符集(用空格代替),则可以计算出他可以得到的最大部分,并告诉iBug该数字。 范例1: In: aaabbccccccbbbaaacccccaabbbaaaaa Out: 4 说明:如果b将其从工具栏中完全卸下,则iBug可以分为4个部分。他还可以通过删除b和来获得4个部分c,如下所示 aaabbccccccbbbaaacccccaabbbaaaaa # Original string aaa cccccc aaacccccaa aaaaa # Remove 'b' aaa aaa aa aaaaa # Remove 'b' and 'c' 这就是iBug可以从该栏获得的最大零件数 范例2: In: 111aa___9999____aaa99111__11_a_aa999 Result: 111aa 9999 aaa99111 11 a aa999 Out: 6 说明:通过仅删除下划线,iBug可以从条中获得6个部分,这是最大数目。 范例3: In: __________ Out: …
27 code-golf  string 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.