Questions tagged «string»

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

10
输出代码大小的Lorem Ipsum
输出与您的代码相同长度的Lorem ipsum! 规则: 代码不能与输出相同 没有压缩库 两周中最短的程序获胜 没有网络的使用,文件阅读等技巧与人们可以很容易地解决任何代码高尔夫球问题(与eval,exec等) 例 Your code with length 25. 输出量 Lorem ipsum dolor sit ame

8
ASCII标尺生成
挑战在于生成以下格式的ASCII字符计数标尺: +-------------------------------------------------------------------------+ || | | | | | | | | | | | | | | | |0 10 20 30 40 50 60 70 | | | +-------------------------------------------------------------------------+ 标尺的长度应可扩展为10的任意倍数。 规则: 标尺必须水平。 假设为了简化起见,标尺必须工作到1000标记,所有数字都左对齐,最后一个数字之后一个空格。 要求长度为零的标尺应打印NaR 负数应打印与右对齐数字相反的标尺(-90,-80,-70,...),否则格式应与上述相同 而且,只需打印到控制台就可以了 准备,开始,打高尔夫球!

3
Levenshtein您的来源
两个字符串之间的Levenshtein编辑距离是将一个单词转换为另一个单词的最小可能插入,删除或替换次数。在这种情况下,每次插入,删除和替换的成本均为1。 例如,之间的距离roll,并rolling为3,因为缺失花费1,我们需要删除3个字符。toll和之间的距离tall为1,因为替换的费用为1。 最初的Levenshtein问题被盗 您的任务是计算输入字符串和源之间的Levenshtein编辑差异。这是标记奎因,所以作弊基内斯(例如,读你的源代码)都不会允许的。 规则 输入将是非空的,并且将由ASCII组成,除非您的源包含非ASCII,在这种情况下,输入可能包含Unicode。无论如何,Levenshtein距离将以字符而不是字节为单位。 输出是输入和源的最小Levenshtein编辑距离。 这是代码高尔夫球,因此最短答案(以字节为单位)获胜。

2
结合土耳其动词
输入值 动词,一个与正则表达式匹配的字符串([a-pr-vyzıöüçğş]*[aeıioöuü][bcçdfgğhj-nprsştvyz]+|([a-pr-vyzıöüçğş]*[aeıioöuü]){2})(mak|mek) 复数,真值或假值 person,值为1、2或3的整数 时态,值为1、2或3的整数 输出量 土族动词的共轭形式动词,在人ST / ND / RD人,复数如果复数是TRUE和单数,如果它不是在 如果时态为1,则表示现在;否则为1。 如果时态为2,则表示现在。 如果时态为3,则表示将来。 规则 土耳其语动词包含三个要素,依次排列: 所述干,通过去除形成mak或mek从不定式的端部; 时态的符号,即: 对于简单的礼物: -r如果词干以元音结尾; -ir根据元音和声规则(请参见下文),如果词干包含多个音节(即元音),或者来自以下不规则动词之一:almak,bilmek,bulmak,durmak,gelmek,görmek,kalmak,olmak, ölmek,sanmak,vermek,varmak,vurmak; -如果词干包含一个音节并且未在上面的不规则动词中列出,则按照元音和声规则。 对于连续的现在,-iyor,其中i根据元音和声规则变化。以元音结尾的词干在添加此后缀之前先将其删除,然后该后缀与单词中倒数第二个元音(由正则表达式保证存在)协调。 为将来: -如果词根以辅音结尾,则根据元音和声规则进行-ecek; -如果词根以元音结尾,则按照元音和声规则进行-yecek。 在所有情况下,根据元音和声规则,使用个人后缀来指示操作的执行者: |Singular|Plural| |---|--------|------| |1st| -im | -iz| |2nd| -sin |-siniz| |3rd| (none) | -ler| 将来时的最后一个k在-im和-iz之前变为ğ,因此例如会屈服。(almak, TRUE, 1, 3)alacağız 元音和声规则 土耳其语元音按其在口中的位置分为两组:后面(a ı o u)和前面(e …

2
贝壳球高尔夫
此任务是在glob扩展后将最短路径输出到文件。 什么是贝壳球?在大多数外壳中,您可以*在路径中使用字符来表示该位置上的任何字符。例如,如果目录foo包含bar baz和asdf,foo/b*则将扩展为foo/bar foo/baz。 现在,假设当前目录包含一个名为的文件ihavealongname,仅此而已。如果要引用此文件,可以键入*,它将仅表示一个文件,而不是输入全名。 如果目录中还包含一个名为的文件ialsohavealongname,则无法执行*,因为它将匹配这两个文件。我至少必须要做ih*。 该*模式还可以匹配我要查找的文件上方的目录。如果只有两个目录foo和bar,但foo只包含一个文件baz,并bar包含一个文件asdf,我可以匹配foo/baz用*/baz。或者,更简洁地说*/b*。如果bar是空的,*/*将起作用。 您的任务:给定表示“当前目录”的路径字符串数组和单个目标路径,输出可能的最短字符串,该字符串在扩展* s后将仅扩展到该目标路径。 目标路径可以当作它自己的字符串,路径数组的索引,传入的路径数组的第一项或其他非硬编码的便捷方式。如果不确定,请在评论中提问。 保证目标路径存在于“当前目录”中。 您可以假设所有路径仅包含字母数字ASCII(和/s)。您可以将扎根(以开头/)或相对(不以开头/)的路径作为输入路径。 如果存在多个同样短的可能性,请返回其中的任意一个或全部。 这是 代码高尔夫球,最少的字节获胜! 测试用例,感谢Kevin Cruijssen。

30
什么是文件扩展名?
您面临的挑战是找到提供的文件名的文件扩展名: hi.txt -> txt or .txt carrot.meme -> meme or .meme lol (undefined behavior) what..is..this..file -> file or .file .bashrc -> bashrc or .bashrc T00M@n3KaPZ.h0wC[]h -> h0wC[]h or .h0wC[]h agent.000 -> 000 or .000 您必须从字符串的最后. 或最后.到结尾再获取文本。正则表达式的第一个捕获组匹配/\.([^.]+)$/有效,在.s 上分割输入并返回最后一个也是如此。 文件名将始终至少包含一个.,但可能包含多个.。(请参见示例) 输入将始终匹配^[.a-zA-Z0-9^!\[\]{}@$%+=]+$。
10 code-golf  string 

22
删除元音时不要使用太多不同的字符
挑战在于从STDIN的字符串中删除元音(a,e,i,o,u)(是的,我知道,很简单)。您可以期望您的程序不会在中运行任何参数argv。 例: This program will remove VOWELS. So we can now speak without them. 更改为: Ths prgrm wll rmv VWLS. S w cn nw spk wtht thm. 有一个陷阱。根据不同字节的数量来决定获奖项目。例如a ab具有三个不同的字节(a,b和空间)。如果两个或多个条目将具有相同数量的不同字节,则对这些条目的字节数进行回退。

2
高尔夫我的Ada阵列
背景 Ada是一种编程语言,其简洁性并不十分出名。 但是,其数组文字语法在理论上可以允许相当简洁的数组规范。这是数组文字 语法的简单EBNF描述(可传递到bottlecaps.de: array ::= positional_array | named_array positional_array ::= expression ',' expression (',' expression)* | expression (',' expression)* ',' 'others' '=>' expression named_array ::= component_association (',' component_association)* component_association ::= discrete_choice_list '=>' expression discrete_choice_list ::= discrete_choice ('|' discrete_choice)* discrete_choice ::= expression ('..' expression)? | 'others' 为了简单起见,我们将自己限制为一维整数数组。这意味着我们将仅对表达式值使用整数。也许在将来的挑战中,我们可以尝试更高级的方法(例如声明变量和多维数组)。你不会有高尔夫整数文字。 为了清楚起见,以下是Ada数组文字和python式等效表示形式的一些示例: (1, 2, …

10
确定一个网格是否包含另一个网格
挑战 创建一个函数将两个二维字符数组(如果编程语言没有字符作为数据类型,则为字符串)作为输入:a和b。如果您的语言不支持这些输入,则可以使用任何其他标准的一字节变量。 您的任务是确定b是否包含a。如果是这样,则返回true。否则,返回false。 样本测试用例 a: 123 456 789 b: 123 456 789 应该返回true。 a: code golf b: thisis code!! golf!! ohyeah 应该返回true。 a: abcd efgh ijkl b: abcdef ghijkl mnopqr 应该返回false。 a: abc def b: 1abc2 3def4 5ghi6 应该返回true a: ab cd b: #ab## ##cd# 应该返回假 最少字节获胜。

3
键入需要多长时间?
介绍 我可以使用QWERTY键盘布局以适当的速度打字。但是,如果像yellowwooddoor这样的单词有很多重复的字母,则键入它会花费更长的时间。更糟的是,当像“跳”这样的单词的同一根手指用于多个不同的连续字母时。 这是我在每个手指上键入字母所花费的时间(非常不科学地衡量): 列是手指名称,每秒击键,秒/击键以及每个手指使用的键 Typing same letter twice: L Pinky 5.2 0.1923076923 1qaz L Ring 5 0.2 2wsx L Mid 5.3 0.1886792453 3edc L Index 5.5 0.1818181818 4rfv5tgb R Thumb 6.5 0.1538461538 [space] R Index 6.9 0.1449275362 6yhn7ujm R Mid 6.3 0.1587301587 8ik, R Ring 6.2 0.1612903226 9ol. R Pinky …

13
有没有更小的重图检查器?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 去年关闭。 我最近开始玩代码搜索,并尝试编写最小的互写检查器。 一个tautogram是所有单词用相同字母开头,例如一句话:花来自法国蓬勃发展。 给定一个句子作为输入,请确定它是否是一个互变符号。 测试用例 Flowers flourish from France True This is not a Tautogram False 我想出了这个python代码(因为这是我的主要语言): print(True if len(list(set([x.upper()[0] for x in __import__('sys').argv[1:]]))) == 1 else False) 用法: python3 tautogram.py Flowers flourish from France # True python3 tautogram.py This is not a Tautogram # False 该句子可以包含逗号和句点,但不能包含其他特殊字符,只能包含大小写字母和空格。 它的大小是98字节。是否有任何语言的较小解决方案?

24
密码主教善良
源于此,现在删除帖子。 给定一个字符串,如果它构成一个不错的Bishop密码,则应回答(真实/虚假或两个一致的值),这是在满足以下所有条件时: 至少有10个字符 它至少有3位数字([0-9]) 它不是回文(反转时与自身相同) 如果您的代码是不错的Bishop密码,则您将获得0字节的奖励。 警告:待办事项不使用善良主教作为实际的密码强度的测量! 例子 好的Bishop密码 PPCG123GCPP PPCG123PPCG PPCG123gcpp 0123456789 Tr0ub4dor&3 不好的Bishop密码 PPCG123 (太短) correct horse battery staple (数字不足) PPCG121GCPP (回文) (太短且数字不足) abc121cba (太短和回文) aaaaaaaaaaaa (回文且数字不足) abc99cba (一切都错了)

11
映射作弊者!
提交所有作业后,将创建一个字典,将学生编号映射到其文件的哈希。 该字典,哈希表或映射(无论您的语言叫什么)将如下所示: {100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"} 关键是学生编号,而值是哈希。 我们的任务是挑选作弊者!作弊者是具有相同哈希值的作弊者。 给定输入后{100: "aabb", 104: "43a", 52: "00ab", 430: "aabb", 332: "43a"},该函数应返回(或打印)以下文本: 100 has identical files to 430 104 has identical files to 332 请注意,没有提到哈希唯一的文件。 另外,顺序在这里很重要: {100: "aabb", 202: "aabb", 303: "ab", 404: "aabb"} 应该返回(打印)以下文本: 100 has identical …

1
Tatamibari求解器
背景 Tatamibari是由Nikoli设计的逻辑难题。 Tatamibari拼图游戏在带有三种不同符号的矩形网格上播放:+,-。和|。求解器必须根据以下规则将网格划分为矩形或正方形区域: 每个分区中必须只包含一个符号。 一个+符号必须包含在一个正方形。 甲|符号必须被包含在具有比宽度更大的高度的矩形。 甲-符号必须被包含在具有比高度较大的宽度的矩形。 四个片段可能永远不会共享相同的角落。(这是日本榻榻米瓷砖通常的放置方式。) 以下是一个示例难题,并提供了解决方案: 任务 解决给定的Tatamibari难题。 输入输出 输入是一个2D网格,代表给定的Tatamibari拼图。每个单元包含四个字符之一:+,-,|,和您所选择的字符来表示一个非线索细胞。在测试用例中,使用星号*。 您可以选择任何合适的输出格式,这些输出格式可以明确表示Tatamibari拼图的任何有效解决方案。这包括但不限于:(如有疑问,请在评论中提问。) 4元组的列表,其中每个元组包括矩形的顶部索引,左侧索引,宽度和高度(或任何等效表示形式) 与输入形状相同的数字网格,其中每个数字代表一个矩形 坐标集列表,每个坐标集包括矩形中单元格的所有坐标 如果难题有多个解决方案,则可以输出任意数量(一个或多个)的有效解决方案。输入保证至少有一个解决方案。 测试用例 Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

15
查找递归首字母缩写
介绍 一个递归的缩写,是一个包含或引用本身,例如首字母缩写: Fish可能是递归的缩写Fish is shiny hero,通知怎么也包含缩写本身。另一个例子是Hi-> Hi igloo。甚至ppcg paints->ppcg paints cool galaxies pouring acid into night time stars 因此,基本上,如果每个单词的第一个字母拼写出第一个单词或多个单词,那么句子就是递归首字母缩写词。 挑战 编写一个程序,该程序接受由1个或多个单词组成的字符串,并用空格字符分隔,然后输出一个递归首字母缩写词;如果不可能,则输出一个空字符串。例如,不可能为字符串创建递归首字母缩写词,ppcg elephant因为您首先要使用pfrom,ppcg然后将其添加到首字母缩写词,然后使用efrom elephant。但是现在我们有了矛盾,因为首字母缩写词目前拼写为“ pe ..”,与“ pp ..”冲突。例如,也是如此hi。您可以使用hfrom hi,但是句子现在结束了,没有更多字母可以拼出hi,我们只剩下h不匹配的字母hi。(字符串需要的单词数量大于或等于首字母缩写词中的字母数量) 输入和输出不区分大小写 限制条件 输入到程序中的任何内容都将是有效的英语单词。但是,您还必须确保输出有效的英语单词(可以使用数据库,也可以只为26个字母存储一个单词) 适用标准漏洞和默认IO规则 测试用例 hi igloo -> hi ppcg paints -> (impossible) ppcg paints cool giraffes -> ppcg ppcg paints cool …
10 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.