Questions tagged «string»

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

3
这篇文章有多大胆?
前言 在Stack Exchange降价中,我们使用**将文本加粗。例如,此降价: The **quick brown fox jumps over the lazy** dog. 呈现为: 在敏捷的棕色狐狸跳过懒惰的狗。 当然,我们也使用**来关闭粗体。因此,答案将更少。例如: The **quick** brown fox jumps over the **lazy** dog. 呈现为: 在快速的棕色狐狸跳过懒惰的狗。 但是,如果未关闭粗体,则将其呈现为非粗体: The **quick brown fox jumps over the lazy dog. 呈现为: 敏捷的棕色狐狸跳过了懒狗。 如果文本带有单个反斜杠\,则粗体无效,或者: The \**quick brown fox jumps over the lazy dog.** 呈现为: 敏捷的棕色狐狸跳过了懒狗。** …
13 code-golf  string 

21
寻找文字的价值!
介绍 在[在这里插入很酷的名字]的土地上,人们不花钱买东西,因为每个人都对纸张过敏。他们用言语付钱给彼此!那怎么了 好吧,他们给每个字母数字值: a=1,b=2,c=3,etc. (以及一些其他特殊规则,将在以后进行描述) 在这个挑战中,您的任务是计算句子的值。 挑战 您将输入一个句子。您可能会假设输入内容没有换行符或尾随空格。挑战将是使用以下规则来计算句子的值: a=1,b=2,c=3,etc. 大写字母的价值是对应的小写字母的1.5倍 H=h*1.5 所以,这个词 cab 值得 c+a+b = 3+1+2 = 6 但是Cab带有大写字母c 的单词值得。(c*1.5)+a+b = 4.5+1+2 = 7.5 因此,如果您的程序输入为“ Cab”,则程序将输出7.5 所有非字母字符均值1。 这是代码高尔夫球,因此最短答案以字节为单位。祝好运!
13 code-golf  string 

6
在O(log n)内存中打印ascii螺旋
您可以编写一个程序来接收一个奇数,正整数 n,其中n >= 3,作为函数参数,命令行参数或在STDIN(或您系统的等效参数)上,并打印到STDOUT(或系统等效参数)ASCII螺旋顺时针向内旋转,顶部边缘恰好是n字符长。n+1显然,第一个右边缘应该是字符长。例如, 输入: 11 输出: *********** * ********* * * * * * ***** * * * * * * * * * * * * * * * *** * * * * * * * ******* * * * *********** 收获: 您的程序只能使用O(log n)内存。 您的程序只能打印字符*(ASCII 42),(ASCII 32),<CR>(ASCII …

30
计算字符串中每个单词的元音数量
这是一个相当容易的挑战。 挑战 输入将包含null最大长度为100 的字符串(非或为空)。输出字符串中每个单词的元音数量,以空格分隔。 规则 该字符串的长度不能超过100个字符。 该字符串将仅包含字母A-Z,a-z也可以包含空格。 输入必须通过stdin或命令行参数使用。 输出必须在中输出stdout。 您可以编写完整的程序,也可以编写从中获取输入stdin并输出结果的函数。 您的程序/功能需要计算的元音为aeiou和AEIOU。 测试用例 This is the first test case --> 1 1 1 1 1 2 one plus two equals three --> 2 1 1 3 2 aeiou AEIOU --> 5 5 psst --> 0 the quick brown fox jumped over …

2
将字符串与上下文连接
带上下文的字符串 出于此挑战的目的,具有上下文的字符串是字符串的三元组,称为左上下文,数据部分和右上下文。它表示较长字符串的子字符串。我们使用垂直管道|作为分隔符,因此具有上下文的字符串的示例为cod|e-go|lf,其中左侧上下文为cod,数据为e-go,右侧上下文为lf。本实施例代表子串e-go的code-golf。 现在,要使用上下文将两个字符串连接起来,我们使用aa|bcc|dee和cc|de|eee作为示例,进行如下操作。我们按照图中的对齐字符串 a a|b c c|d e e c c|d e|e e e 以便它们的数据部分相邻。在这种情况下,串联的数据部分是数据部分的串联bccde。在这种情况下,左边的上下文是进一步延伸到第一数据部分左边的部分aa。同样,正确的上下文是eee,因此串联是带有context的字符串aa|bccde|eee。对于第二个示例,请考虑a|bb|cd和aabb|cd|,其中第二个单词的权利上下文为空。对齐图是 a|b b|c d a a b b|c d| 第二个单词的左上下文比第一个单词的左上下文延伸得更多。的串联是aa|bbcd|。 但是,等等,有一个陷阱:如果对齐图的字母不匹配,则表示串联不存在!作为一个例子,对图aa|bb|cc和c|c|cIS a a|b b|c c c|c|c 第四列的b和c不一致,因此无法将它们串联在一起。 任务 您的工作是编写一个程序,该程序使用上下文中包含两个字符串的字符串,它们的各部分之间的分隔|符如上所述,如果存在则输出其串联,否则将其串联。“其他”可以是任何值,包括没有输出,只要它不是带上下文的有效字符串,并且在所有情况下都相同。但是,抛出错误是不可接受的。您可以提供STDIN-to-STDOUT程序或函数,也可以接受匿名函数。最小的字节数获胜,并且不允许出现标准漏洞。 测试用例 aa|bcc|dee cc|de|eee -> aa|bccde|eee a|bb|cd aabb|cd| -> aa|bbcd| a|b|cccd aab|cc|c -> aa|bcc|cd a|b|c b||cd -> a|b|cd …
13 code-golf  string 

8
行号-实现nl
您的任务是实现一个类似于nlGNU核心实用程序中的命令行工具的程序。 禁止出现标准漏洞。 您不得使用任何内置或外部函数,程序或实用程序来对文件或字符串的行进行编号,例如文件nl本身或=GNU sed中的命令。 规格 输入值 该程序接受文件名作为参数。您的代码不必跨平台。应该使用运行代码的操作系统的文件名格式,即,如果您恰巧在Windows上,则目录分隔符可以为\或/。 您必须能够获取64个输入文件,包括-已指定的文件。如果给出的数目超过64,则仅处理前64个。 在文件名列表中,-代表标准输入。 如果给出了文件名,请按给出的顺序读取文件并连接其内容,并在文件名和末尾之间插入新行。如果您无法读取一个或多个文件名(因为文件不存在或您没有读取权限),请忽略它们。如果指定的所有文件名均无效,则不输出任何内容。 如果未提供文件名,请从标准输入中读取。如果未提供文件名或未提供文件名,则仅从标准输入中读取-。 输出量 程序将输出带有标准行编号的输入作为标准输出(您可以假定输入具有\n,\r\n或\r行尾;请选择对您方便的任何一种,但要指定哪一个): <5 spaces>1<tab><content of line 1 of input> <5 spaces>2<tab><content of line 2 of input> ... <4 spaces>10<tab><content of line 10 of input> ... <3 spaces>100<tab><content of line 100 of input> ... ... 行号分配了6个空格,并在这些字符的末尾插入;其余的变成空格(例如1将有5个前导空格,22将有4个前导空格,...)。如果输入足够长,则最终将在行上用完行号的空间999999。在999999行之后,您不得输出任何内容。 如果输入为空,则不输出任何内容。 退出状态 较低的数字优先:如果遇到错误1和2,则以状态1退出。 如果成功接收到输入,并且状态行成功编号并输出,则以状态0退出。 …

3
将单词分解为其他单词(例如,“余辉” =“尾部” +“ erg” +“低”)
这是供您所有词匠使用的工具!编写一个程序或函数,该程序或函数接受单词列表并为每个单词生成所有可能的级联分解的列表。例如: (注意:这仅是一个小样本,用于说明目的。实际输出量要大得多。) afterglow = after + glow afterglow = aft + erg + low alienation = a + lie + nation alienation = a + lien + at + i + on alienation = a + lien + at + ion alienation = alien + at + i + on …

4
Golf String的format()反
反转Format方法。 大多数语言都提供FormatString类的方法(或等价的方法,例如sprintf)。它基本上采用“格式”字符串,其中可能包含具有某些额外格式的占位符,并且要插入零个或多个值来代替这些占位符。 您的任务是以您选择的语言实现逆函数。 API 方法名称应为format1或deformat。 输入:第一个参数将是“格式”字符串,就像在原始格式方法中一样。第二个参数将是解析的字符串(请参见下面的示例)。不需要也不允许其他参数。 输出:格式的占位符对应提取的值的数组(或您的选择语言的等价形式)。 该占位符{0},{1},{2},等。 如果格式不正确,则可能会引发错误,或者返回任何您喜欢的格式。 在输入无效的情况下,您可能会抛出错误或返回任何您喜欢的内容。无效的输入是String.Format无法使用相同格式的字符串生成的,例如:'{0}{0}', 'AAB'。 例子 deformat('{0} {1}', 'hello world') => ['hello', 'world'] deformat('http{0}://', 'https://') => ['s'] deformat('http{0}://', 'http://') => [''] // array of one item which is an empty string deformat('{0}{1}{0}', 'ABBA') => ['A', 'BB'] 歧义性 如有歧义,您可以返回任何合适的答案。例如: deformat('{0} {1}', 'Edsger W. Dijkstra') // …
13 code-golf  string 

7
倒转单词,不改变大小写或标点符号
创建一个使用最少字符数的程序,以反转字符串中的每个单词,同时将单词的顺序以及标点和大写字母保持在其初始位置。 所谓“单词的顺序”,是指每个单词都被一个空格隔开(“”),因此,收缩等将被视为一个单词。收缩中的撇号应留在同一位置。(“ Do n't” =>“ Tno'd”)。 (标点符号表示不是az,AZ或空格*的任何字符)。 由于您没有大写字母,因此已从此列表中删除数字。现在将数字视为标点符号。 例如,对于输入: Hello, I am a fish. 它应该输出: Olleh, I ma a hsif. 注意,O(第一个单词的第一个字母)现在是大写字母,因为H在同一位置之前是大写字母。 逗号和句点也位于同一位置。 更多示例: This; Is Some Text! 将输出 Siht; Si Emos Txet! 可以使用任何语言。字符数最少的程序获胜。

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

7
查找两个字符串之间的最小编辑距离
说明 两个字符串之间的编辑距离是将一个单词转换为另一个单词的最小可能插入,删除或替换次数的函数。 插入和删除的费用为1,替换的费用为2。 例如,之间的距离AB和A为1,因为删除费用1和唯一需要的编辑是删除B字符。 CAR和之间的距离FAR为2,因为替换的成本为2。另一种查看方式是一次删除和一次插入。 规则 给定两个输入字符串(但提供时使用您的语言很方便),您的程序必须找到两个字符串之间的最小编辑距离。 您可以假定字符串仅包含字符A-Z,并且少于100个字符且大于0个字符。 这是代码高尔夫,因此最短的解决方案将获胜。 样本测试用例 ISLANDER, SLANDER > 1 MART, KARMA > 5 KITTEN, SITTING > 5 INTENTION, EXECUTION > 8
13 code-golf  string 

9
Soundex功能
编写最短函数,为仅包含大写字母AZ的姓生成American Soundex代码。您的函数必须产生与所有链接页面的示例一致的输出(如下所示),尽管它不需要也不应删除前缀。输出中的连字符是可选的。玩得开心! 注意:您可能无法使用soundex()包含在PHP或其他编程语言等价物的功能。 例子: WASHINGTON W-252 LEE L-000 GUTIERREZ G-362 PFISTER P-236 JACKSON J-250 TYMCZAK T-522 VANDEUSEN V-532 ASHCRAFT A-261
13 code-golf  string 

7
打印所有“带引号”字符的总长度
规则 在这个挑战中,我将重新定义“引号”的定义。 引号(AKA 引号)是在各种书写系统中成对使用的任何相同字符,用于引出直接语音,引号或短语。该对包括一个引号和一个引号,它们是相同的字符(区分大小写)。 如果有报价对彼此重叠, 如果一对嵌套,则两个对仍然有效。 如果一对未嵌套,则第一个起始对保持有效。另一个不再被视为一对。 计算带引号的字符(一对引号的长度)时, 引号本身不计算在内。 每对的长度独立计算。重叠不会影响另一个。 目标 您的目标是打印所有有效报价的总长度。这是代码高尔夫球,因此字节最少的代码获胜。 例子 Legend: <foo>: Valid quotes ^ : Cannot be paired character Input : ABCDDCBA `A` (6): <BCDDCB> `B` (4): <CDDC> `C` (2): <DD> `D` (0): <> Output : 12 Input : ABCDABCD `A` (3): <BCD> `B` (0): ^ …

9
CamelCase2snake_case()
编写将CamelCased文本转换为snake_case的函数:FunctionForHTMLManipulation变成function_for_html_manipulation 输入文本将是多种语言的单个合适的标识符。它必须以英文字母开头,然后是任意数量的英文字母或数字。不允许使用其他字符(空格,符号等)。 CamelCased文本中的每个“单词”都将以大写字母开头,除非在文本开头或紧跟在数字之后,然后是零个或多个字母(大小写均相同)。数字组将被视为单独的单词,但将保持不变。 换句话说,小写字母后跟大写字母表示分词。彼此相邻的任何字母和数字都表示分词。大写字母后跟另一个大写字母和小写字母表示单词中断。 ...lU...=> ...l_u... ...l9...=> ...l_9... ...U9...=> ...u_9... ...9l...=> ...9_l... ...9U...=> ...9_u... ...UUl...=>...u_ul... 双方Buy24Beers并buy24beers成为buy_24_beers。 MacDonaldAndObrian成为mac_donald_and_obrian。 MACDonaldAndOBrian成为mac_donald_and_o_brian。
13 code-golf  string 

6
桥牌得分
使合同桥梁非常有趣的一件事是其高度复杂的“人工”元游戏。这种计分系统只是其中的一小部分。 桥牌是一个花招的纸牌游戏。每个玩家有13张手牌,游戏开始于竞标。竞标决定了其余游戏的进行方式,因此这是至关重要的部分。为了确保您和您的伴侣的出价不会太高(或太低),我们开发了这种人工评分系统来告诉您您的手牌有多好。 计分 这是一个示例手: S:KQT5 H:J72 D:965 C:AK8 S,H,D,C代表西服(锹,心形,菱形和棍棒),其余为这些西服中的牌。因此,此手有一张黑桃皇后(Q),一张黑王(K),十张黑桃(T),五张黑桃,红心杰克,七张红心,等等。 计分系统的工作方式如下: 您每获得一张王牌(A),您将获得4点;每位国王(K),您将获得3点;每位皇后(Q),您获得2点;每位杰克(J),您获得1点。没有其他卡可以得分。 西装第四张之后的每张卡都会给你1分。因此,如果您有六颗心,您将获得2分。 一套只有2张卡片的西装可以给你1分(这是一双)。仅有1张卡片的西服给您2分(这是单身人士)。如果您在某套西装中没有卡,则得到3分(这是无效的)。(通常,只有在您与伴侣商定了诉讼之后,才计入这些费用,但为了使挑战变得更加有趣,我将它们包括在内。) 因此,上述手有13点。 挑战 给定上面显示的格式的桥手,计算该手有多少点。西服将始终按照黑桃,心,钻石和球棒的顺序列出,并且牌将始终按A,K,Q,J,T,9-2的顺序排序。 样本输入和输出 S:KQT5 H:J72 D:965 C:AK8 \-> 13 S:AKQT6 H:54 D:J83 C:732 \-> 12 S: H:KQT8754 D:A86 C:432 \-> 15 S:9876 H:843 D:652 C:432 \-> 0 S:AKQT5 H:AQJ6 D:Q3 C:AK \-> 28 这是代码高尔夫球,因此以字节为单位的最短代码获胜。

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.