Questions tagged «string»

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

8
划掉44仍然是常规44;(
介绍 2015年3月24日,@ isaacg将他的Pyth答案从44字节压缩到42字节。由于划掉的44(44)看起来很像常规的44,@ Optimizer发表了以下评论: 打出44仍然是正常44 :( 之后,在2015年10月21日,@ Doorknob♦将他的Ruby答案从44字节压缩为40字节(之后为38字节),并将以下部分添加到他的答案中,并带有指向@Optimizer的原始注释的链接: 划掉44仍然是常规44;( 这是答案链模因的开始,其中每个划掉的44个(有时是4个或444个)都链接回前一个模因。 然后在2017年4月8日(我不确定这是否是这样做的第一个答案,但这是我能找到的最早的答案),@ JonathanAllan将他的Python答案从44提升到39。但是他使用<s> 44 </s>了44看起来像这样: 44 ,并在他的答案中添加了以下内容: 划掉  44  不再是44 :) 这基本上就是模因的(开头)结尾。 挑战 关于此挑战:给定一个正整数列表和一个日期,将列表以逗号和空格分隔,其中除最后一个数字外的每个数字都放置在<s>...</s>标记之间。 此外,如果有任何被划掉的数字在序列中[4, 44, 444, 4444, ...](oeis.org上的A00278): 如果日期在2017年4月8日之前:则在第二行上输出准确的文本crossed out N is still regular N ;((所有小写​​字母,并带有分号图释),文本(N是序列中的划线数字)。 如果日期是2017年4月8日或更晚:N序列中的划线编号应 添加前导和尾随。无需任何其他输出行。 例子: 输入:list = [50, 48, 44, 41],date = January 1st, 2017 输出: <s>50</s>, <s>48</s>, <s>44</s>, …

9
填写支架
普通括号((),[],<>和{})是很好的和明确的,但有人认为这将是使用非括号字符作为括号是一个好主意。这些字符|和和"是不明确的。例如做 """" 相当于 (()) 要么 ()() 这是不可能的。 例如,当您混合使用类型不明确的方括号时,事情开始变得有趣起来 "|""||""|" 可能是以下任何一个 ([(([]))]),([()[]()]),([()][()]) 任务 您的任务是获取由歧义字符组成的字符串,并输出作者可能想要的所有可能的平衡字符串。 更具体地讲,你的输出可以做出替换所有的字符串平衡|与任一[或]并"用两种(或)。您不应两次输出任何平衡的字符串。 IO 作为输入,您应该采用由|和组成的字符串"。如果您想选择比其他两个不同的角色|,并"担任你可以这样做替代品。您应该输出一个平衡字符串的容器。您可以选择更换[],并()在输出与任何其他两种支架对((),[],<>或{})你的愿望。您的输出格式应在每次运行中保持一致。 计分 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。 测试用例 "" -> ["()"] "|"| -> [] ||| -> [] """" -> ["(())","()()"] ""|| -> ["()[]"] "|"||"|" -> ["([([])])"] "|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]

2
正则表达式:匹配平均主义系列
介绍 我在这里看不到很多正则表达式挑战,因此我想提供这种看似简单的方法,可以使用多种正则表达式来以多种方式完成。我希望它为正则表达式爱好者提供一些有趣的打高尔夫球时间。 挑战 面临的挑战是匹配我非常宽松地称为“平等主义者”系列的内容:一系列相等数量的不同字符。最好用示例来描述。 比赛: aaabbbccc xyz iillppddff ggggggoooooollllllffffff abc banana 不匹配: aabc xxxyyzzz iilllpppddff ggggggoooooollllllfff aaaaaabbbccc aaabbbc abbaa aabbbc 一概而论,要匹配形式的主题(为任意字符的列表来,在所有c1)n(c2)n(c3)n...(ck)nc1ckci != ci+1i, k > 1, and n > 0. 说明: 输入将不为空。 字符可以稍后在字符串中重复(例如“ banana”) k > 1,因此字符串中将始终至少包含2个不同的字符。 您可以假定仅将ASCII字符作为输入传递,并且没有字符将成为行终止符。 规则 (感谢马丁·恩德(Martin Ender)出色阐述了这一规则) 您的答案应该由一个正则表达式组成,没有任何其他代码(可选地,使您的解决方案起作用所需的正则表达式修饰符列表除外)。您不得使用允许您以托管语言调用代码的语言正则表达式功能(例如Perl的e修饰符)。 您可以使用在挑战之前存在的任何正则表达式风味,但请指定风味。 不要假设正则表达式是隐式锚定的,例如,如果您使用的是Python,请假设您的正则表达式用于re.search,而不用于re.match。您的正则表达式必须与整个字符串匹配有效的均等字符串,而对于无效字符串则不匹配。您可以根据需要使用任意数量的捕获组。 您可以假设输入将始终是两个或多个不包含任何行终止符的ASCII字符的字符串。 这是正则表达式高尔夫,因此以字节为单位的最短正则表达式获胜。如果您的语言需要分隔符(通常是/.../)来表示正则表达式,请不要计算分隔符本身。如果您的解决方案需要修饰符,请为每个修饰符添加一个字节。 标准 这是一门不错的老式高尔夫球,所以请不要考虑效率问题,而要尽量减小正则表达式。 请说明您使用了哪种正则表达式,并在可能的情况下提供一个链接,该链接显示了您在操作中的表情在线演示。

9
我有几章?
圣经是有史以来最有影响力的书之一,通常被称为有史以来最畅销的书。它是由大约 40位不同的作者在数百年的时间里编写的,然后才被编译成当前的形式。但是,《圣经》有趣的是它的分割方式。它分为2个不同的遗嘱,分为66个较小的书,每本书分成较小的章节,每个章节都分为单独的经文。 我认为尝试以尽可能短的代码编码每本书中的章节数将是一个有趣的挑战。因此,对于当今的挑战,您必须编写一个程序或函数,以其中一本书作为输入,并根据The King James Version输出该书中的章节数。 您可以采用任何合理格式的IO,例如读/写STDIN / STDOUT或文件,函数自变量/返回值,提示用户等。输入内容将始终是《圣经》的66本书之一,并且仅是小写字母。这意味着,如果给您任何其他输入,则允许未定义的行为。由于只有66可能的输入和输出,他们在这里都提供了,根据维基百科上关于圣经的章节中的国王詹姆斯版本页: genesis 50 exodus 40 leviticus 27 numbers 36 deuteronomy 34 joshua 24 judges 21 ruth 4 1 samuel 31 2 samuel 24 1 kings 22 2 kings 25 1 chronicles 29 2 chronicles 36 ezra 10 nehemiah 13 esther 10 job …

29
重复第N个元素
我们已经有一段时间没有字符串问题了(准确地说是5天),所以让我们继续。 给定一个字符串s和一个正整数n,取的每一个n元素s,重复n一次,然后放回s。 例如,如果n = 3和s = "Hello, World!",则第三个字符为Hl r!。然后,您重复每个字符n时间以产生HHHlll rrr!!!。然后,您将原始字母替换为重复的字母,以生成最终的HHHellllo, Worrrld!!! 您将使用您的语言以最短的代码完成此任务! 规则 这是一个代码高尔夫球,因此以字节为单位的最短代码胜出 n保证小于的长度s并大于0 的第一个字符s是其中n第字符是从采取,并且总是反复n次 s就只包括可打印的ASCII的(代码点0x20 (space)到0x7E (~)) 测试用例 s, n => output "Hello, World!", 3 => "HHHellllo, Worrrld!!!" "Code golf", 1 => "Code golf" "abcdefghijklm", 10 => "aaaaaaaaaabcdefghijkkkkkkkkkklm" "tesTing", 6 => "ttttttesTingggggg" "very very very long string for …
18 code-golf  string 

6
Annannounccceeerr VOICCEEEE
编写一个函数,该函数采用字母和空格字符串(无需处理非字母),并执行ANNOUNCER VOICE转换算法,如下所示: 首先,全部大写。 对于每个字, 通过将每个字母增加三倍来延长每个辅音簇;除非单词以辅音簇开头,否则不要拉长该簇。例如,other应该成为OTTTHHHEEERRR但mother应该成为MOTTTHHHEEERRR。 将最终的元音加倍三倍,使其伸长。 在两种伸长情况下,如果您要使一个字母成三倍,请首先将其与两侧的重复字母合并。例如,hill应该成为HIIILLL和bookkeeper应该成为BOOKKKEEPPPEEERRR。 就此挑战而言,应y视为辅音。 澄清/简化:您可以假设每对单词之间用一个空格隔开,并且输入不包含连续的空格,并且输入将不是空字符串。 最短的代码胜出! 测试向量: > sunday sunday SUNNNDDDAAAYYY SUNNNDDDAAAYYY > mia hamm MIAAA HAAAMMM > chester alan arthur CHESSSTTTEEERRR ALLLAAANNN ARRRTTTHHHUUURRR > attention please ATTTENNNTTTIOOONNN PLEASSSEEE > supercalifragilisticexpialidocious SUPPPERRRCCCALLLIFFFRRRAGGGILLLISSSTTTICCCEXXXPPPIALLLIDDDOCCCIOUUUSSS > moo MOOO > Aachen AACCCHHHEEENNN > Oooh OOOHHH > grifffest GRIFFFEEESSSTTT > k …
18 code-golf  string 

11
扫一下元音!
注意:标题是故意拼写错误的。 给定字符串s,交换每2个单词的第一个元音运行。对于这个挑战,y被认为是元音。 例如,给定输入“ Great day sir”: 1. Input: "great day sir" 2. Identify pairs of words: "[great day] [sir]" (No word for sir to pair with) 3. Identify the first vowel runs in each word: "[gr[ea]t d[ay]] [s[i]r]" 4. Swap the vowel runs in each pair: "[gr[ay]t d[ea]] [s[i]r]" 5. …

14
全回文三角形
考虑一下字符串160615051。可以这样“三角化”: 1 606 15051 那么,每一行都是回文。还要注意,周长的每一侧也是回文: 1 | 1 | 6 | 6 | 1 | 1 | 15051 因此,该字符串可以认为是完全回文三角形。100在这种情况下,不必担心海拔高度,不必回文。 输入:从0x20到0x7E的可打印ASCII字符串。它可以是字符数组,单个字符串或ASCII码点的数组。您的输入将始终能够被三角剖分(即,其长度将始终是完美的正方形)。 输出:如果字符串是完全回文的三角形,则为真值,否则为假值。 测试用例 input => output 1 => true A => true AAAA => true nope => false {{}} => false 1101 => true 1011 => false 1202 => false 111110001 …

30
谁有一个中间名逗号?
您的挑战是将名称(字符串)作为输入,例如 Albert Einstein 并输出: Einstein, Albert 伪代码: set in to input set arr to in split by " " set last to the last element of arr remove the last element of arr set out to arr joined with " " prepend ", " to out prepend last to out …
18 code-golf  string 

30
打印缺少的字符
简单的挑战是由我以前的打印无形文本和实际的无形文本挑战,以及相同长度的不同字符串挑战的流行所启发。 给定一个仅包含可打印字符(0x20 to 0x7E)的字符串,请打印该字符串中不存在的每个可打印字符。 输入值 字符串或字符数组,仅由可打印的ASCII字符组成 输出量 输入字符串中没有出现的每个可打印ASCII字符(不按任何顺序)。 测试用例 Input: "Hello, World!" Output: ""#$%&'()*+-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVXYZ[\]^_`abcfghijkmnpqstuvwxyz{|}~" ======== Input: "Hi!" Output: " "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmnopqrstuvwxyz{|}~" ======== Input: "" Output: " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ======== Input: " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" Output: "" 计分 这是代码高尔夫球,因此每种语言中的最少字节数获胜
18 code-golf  string 

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

30
创建一个代码块工具
正如我希望您知道的那样,在SE网络上使用标记时,在一行文本之前的四个空格的缩进表示它是代码块的一部分。如果不这样做,这是一个示例(.代表一个空格): ....代码 ....更多代码 结果是 Code More code 问题是,将代码复制粘贴到答案中时,需要手动缩进每一行。当使用非高尔夫代码时,这尤其困难,因为它可能已经缩进并可能引起混乱。Ctrl + K事实证明,您只需选择您的代码并点击即可。我一生的时间无缘无故地浪费了... 因此,您的目标是,在给定输入的情况下,在每行之前以四个空格返回它。本着节省复制粘贴时间的精神,您将整个输入作为单个字符串处理(只要您的语言可以解析它)。如果您的语言无法处理字符串中的字符(例如换行符),则可以假定通过该语言支持的其他方法来表示/转义该字符;但是,输出必须在其自己的行上输出每一行(因此,请勿传递....foo\n....bar)。 不允许出现标准漏洞。因为这是代码高尔夫球,所以最短的答案以字节为单位。祝好运!

14
Bleeeet Bleeeet Bl Bleet!
(含义:将英语转换为Bleet) 多年来,我们一直称赞山羊为神。 但是,如果我们无法将英语翻译为山羊神的语言“ Bleet”,我们将无法与他们交流。 因此,为了与他们交流,我们研究了山羊的活动,并检索了这种模式,这是该语言的核心。 对每个单词的长度说“ Bleet”。这意味着对于大于3个字母的单词,``e''的数量应为(length-3)。对于小于``Blt''的单词,应减少``Bleet''的数量。例如,“ be”变成“ bl”,但是“ cat”和“ boat”变成“ blt”和“ blet”。 看起来,他们实际上并没有将非字母字符更改为“ Bleet”。我们的研究表明,“世界,您好!” 对Bleet来说是“ Bleet,Bleet!” 不是“ Bleeet Bleeet”。另外,山羊也不是那么聪明(没有冒犯性),所以他们似乎根本不懂非ASCII字符或变音符号。 现在,是时候让翻译与山羊神交流了。 Bleeeeet(含义:示例) Hello, World! => Bleet, Bleet! lorem ipsum dolor sit amet. => Bleet Bleet Bleet Blt Blet. We praise the Goat God! => Bl Bleeet Blt Blet Blt! I …
18 code-golf  string 

4
棋盘格!
介绍 来自维基百科: 平面的细分是指使用一个或多个几何形状(称为图块)的平铺,没有重叠且没有间隙。 下面显示了一个众所周知的细分: 菱形的平铺方式不会导致重叠或间隙,并模拟了立方的互换列。 任务 您的任务是编写一个与上面的图像相同的镶嵌菱形的程序。程序的输入将为镶嵌的尺寸:height x width,其中width是列数,height是行数。 单个立方体1 x 1(菱形的3个图块)的表示方式如下: _____ /\ \ / \ \ / \ _____\ \ / / \ / / \/_____ / 因此,如果输入/尺寸为3 x 2,则应为输出: _____ /\ \ / \ \ / \ _____\ _____ \ / /\ \ \ / / \ …

15
重要空白:强盗
这是警察和强盗挑战的一部分。去这里参加警察的活动。 为了解决这一挑战,我们将空白定义为仅换行(0x0A)和空格(0x20)。请注意,大多数语言和正则表达式都将许多其他字符也视为空格,无论是在ASCII范围内还是在ASCII范围之外,因此您可能无法使用相应的内置函数。 强盗的挑战 警察的答案可以通过将其转换为有效的程序或函数(使用所选语言)来破解,该程序或函数通过将空格插入代码中来执行从输入字符串中删除空格的任务。例如,如果您收到以下输入: H e l l o, W o r l d! 程序应该输出 Hello,World! 插入空格后,解决方案的字节数不得超过cop答案中指出的字节数。只要您的解决方案受上述约束的约束,您就不必找到与警察完全相同的解决方案。 如果您可以管理此问题,请在解决方案中发布答案,并链接到警察的答案,然后对警察的答案发表评论,并链接回您的答案。 破解最多警察答案的强盗获胜。领带被破解的警察答案的大小之和打断(赞成强盗破解更长的提交内容)。 每个警察的答案只能破解一次,当然,您也不能破解自己的答案。如果警察的答案在被破解之前或之后被证明是无效的,则不计入强盗的分数。

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.