Questions tagged «string»

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

4
实现真正的字符串添加
许多语言允许使用字符串“添加” +。但这确实是串联的,一个真正的加法将遵循组公理: 它是封闭的(任何两个字符串的加总始终是一个字符串) 它是关联的((a + b)+ c = a +(b + c)) 有一个恒等式(∃e:a + e = a) 每个元素都有一个逆数(∀a:∃b:a + b = e) (串联违反了第四组公理) 因此,我要执行的任务是实现真正的字符串加法,即该函数需要两个表示字符串的字节序列,然后返回第三个字节,以便您的函数满足字节序列上的所有组公理。 它必须适用于代表字符串的所有字节序列,包括具有空字节的字符串。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。

30
“相乘”两个字符串
这是受到我最近添加到我的语言Add ++中的功能的启发。因此,我将在Add ++中提交一个简短的答案,但如果获胜,我将不接受它(这不公平) 当您可以将数字相乘而不是字符串时,您不讨厌它吗?所以,您应该纠正它,对吗? 您将编写一个函数或完整程序,该程序或程序将两个非空字符串作为输入并输出它们的乘积形式。 您如何将字符串相乘?我会告诉你! 要相乘两个字符串,您需要两个字符串并比较每个字符。然后,将具有最高代码点的字符添加到输出中。如果它们相等,只需将字符添加到输出中即可。 不能保证字符串的长度相等。如果长度不同,则最后一个字符串的长度就是最短字符串的长度。输入将始终是小写字母,并且可以包含可打印ASCII范围(0x20 - 0x7E)中的任何字符,但不包括大写字母。 您可以以任何合理的格式输出,例如字符串,列表等。明智的是,在此挑战中整数不是输出的明智方法。 随着投入hello,和world!,这是它如何工作的 hello, world! w > h so "w" is added ("w") o > e so "o" is added ("wo") r > l so "r" is added ("wor") l = l so "l" is added ("worl") d < o so …
29 code-golf  string 

25
排序字符串
如果对字符串进行排序,通常会得到类似以下内容的信息: ':Iaaceeefggghiiiiklllllmnnooooprrssstttttuuyyyy 是的,那是第一句话。 正如你所看到的,有很多重复的字符,aa,eee,ttttt,9位等。 如果我们将128第一个重复项的ASCII值相加,256将第二个重复项的ASCII值相加384,依此类推,依此类推,再次对其进行排序并输出新的字符串(取模128以返回相同的字符),我们将得到以下字符串: ':Iacefghiklmnoprstuy aegilnorstuy egilosty iloty lt (请注意单个前导空格和四个尾随空格)。 该字符串“依次排序” <space>':I....uy,<space>aeg....uy,<space>egi....ty,<space>iloty,<space>lt,<space>,<space>,<space>,<space>。 如果我们使用带数字的字符串,可能会更容易形象化。该字符串111222334在“排序”后将为:123412312。 挑战: 毫不奇怪,挑战在于编写根据以上描述对字符串进行排序的代码。 您可以假定输入字符串将仅包含32-126(空格到波浪号)范围内的可打印ASCII字符。 测试用例: **Test cases:** *:Tacest*es*s* If you sort a string you'll typically get something like: ':Iacefghiklmnoprstuy aegilnorstuy egilosty iloty lt Hello, World! !,HWdelorlol #MATLAB, 114 bytes #,14ABLMTbesty 1A f=@(s)[mod(sort(cell2mat(cellfun(@(c)c+128*(0:nnz(c)-1),mat2cell(sort(s),1,histc(s,unique(s))),'un',0))),128),'']; '()*+,-0128:;=@[]acdefhilmnoqrstuz'(),0128@acefilmnorstu'(),12celmnostu'(),12celnstu(),clnst(),cls(),cs(),()()()() 这是代码高尔夫球,因此每种语言中以字节数计的最短代码将赢得ref。

24
荷兰Burgerservicenummer(BSN)十一测试
介绍: 符合以下规则的荷兰BSN(BurgerServiceNummer)有效: 它仅包含数字。 长度应为8或9。 当A通过索引数字时I,以下总和的结果:(请9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + -1xI注意-1而不是1!)应该被11整除,并且不应该为0。 挑战: 输入:代表BSN的字符串或字符数组。 输出:甲truthy或falsey结果输入是否是有效的BSN。 挑战规则: 输入格式应为字符串或字符数组。不允许使用数字的整数数组或(可能是八进制)数字。(不过,您可以自己将其转换为数字的整数数组,但不能直接将其作为参数。) 尽管上面的输入有限制,但您可以假定所有测试用例都将包含一个或多个数字([0-9]+) 关于长度为8而不是9的BSN,荷兰维基百科指出:“ 对于11次测试和其他实际用途,添加前导零以使长度为9。 ”(来源) 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法,完整程序。你的来电。 默认漏洞是禁止的。 如果可能,请为您的代码添加一个带有测试的链接。 另外,如有必要,请添加说明。 测试用例: // Truthy test cases: 111222333 123456782 232262536 010464554 10464554 44016773 …

30
它是一个奇怪的词吗?
挑战 给定一个单词作为输入,请确定该单词是奇数还是偶数。 奇偶字 假设一般规则: odd + odd = even even + odd = odd odd + even = odd even + even = even 在字母表中,奇数字母为: aeiou 偶数字母是: bcdfghjklmnpqrstvwxyz 大写字母也是如此(AEIOU奇数和BCDFGHJKLMNPQRSTVWXYZ偶数)。 然后,您将单词中的每个字母一起“添加”。例如,该词cats等于: even + odd + even + even 简化为: odd + even 这进一步简化为: odd 所以这个词cats很奇怪。 例子 Input: trees Output: even Input: …

30
弯曲的序列
感谢Adnan提出了这一挑战。 在我休息之前,我的最后一个挑战。 任务 给定正整数n,如果n为奇数,则重复/多次;如果n是偶数,则重复\多次。 (严重的是,这些测试用例比本说明要清楚得多,因此只需看一下这些测试用例即可。) 眼镜 任何合理的输入/输出格式。 有标准漏洞。 测试用例 n output 1 / 2 \\ 3 /// 4 \\\\ 5 ///// 6 \\\\\\
29 code-golf  string 

29
让我们做浪吧!
输入: 长度为的字符串(片段)>= 2。 正整数n >= 1。 输出: 我们输出单线波形。为此,我们将输入字符串重复n次。 挑战规则: 如果输入字符串的第一个字符和最后一个字符匹配,我们在总输出中只输出一次(即^_^长度为2 ^_^_^而不是^_^^_^)。 输入字符串将不包含任何空格/制表符/换行符/等。 如果您的语言不支持非ASCII字符,那就可以了。只要它仍然符合仅ASCII波形输入的挑战。 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有正确参数的函数/方法,完整程序。你的来电。 默认漏洞是禁止的。 如果可能,请为您的代码添加一个带有测试的链接。 另外,如有必要,请添加说明。 测试用例: _.~"( length 12 _.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"(_.~"( '°º¤o,¸¸,o¤º°' length 3 '°º¤o,¸¸,o¤º°'°º¤o,¸¸,o¤º°'°º¤o,¸¸,o¤º°' -__ length 1 -__ -__ length 8 -__-__-__-__-__-__-__-__ -__- length 8 -__-__-__-__-__-__-__-__- ¯`·.¸¸.·´¯ length 24 ¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯ ** length 6 …
29 code-golf  string 

28
计算超级对数
这应该是一个简单的挑战。 给定一个数字n >= 0,输出的超级对数(或log *,log-star或迭代对数,它们是等效的,因为n对于该挑战永远不会为负。)n。 这是四官能的两个反函数之一。另一个是超级根,这是一个相关的问题。 例子 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 规则 您可能不需要支持小数。 您需要至少支持输入3814280 = ceiling(e^e^e)。 您可能不对值进行硬编码3814280。(理论上,您的程序必须支持更高的数字。)我希望实现一种算法。 最短的代码胜出。 相关OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

30
文字方块
挑战 给定字符串,以方形输出文本。 您可以假定文本始终适合正方形,并且永远不会是空字符串。 您也可以假设它永远不会有换行符。 例 Input: Hi, world Output: Hi, wo rld 测试用例 Input: Hi, world! Hello Output: Hi, worl d! H ello Input: Lorem ipsum dolor sit amt Output: Lorem ipsu m dol or si t amt Input: H Output: H 规则 这是代码高尔夫球,因此最短答案以字节为单位!决胜局是最令人讨厌的答案。 禁止出现标准漏洞。
29 code-golf  string  grid 

15
解串
给定一个字符串切片列表的输入,输出原始字符串。 每个切片将以长度2的列表形式给出,其中包含切片的起始位置(整数≥0)和切片本身。如果您的语言不支持任意类型的数组,则也可以将其作为结构或类似结构,或仅由数字,空格和切片组成的字符串。 每个切片的两个元素的顺序由您决定。此外,如果您选择将切片的表示形式用作长度为2的数组,则可以将输入作为二维数组或单个平面数组。最后,代表位置的整数可以是零索引或一索引(此处所有示例均为零索引)。 输入将始终足以确定直到给定最高位置的整个字符串。也就是说,将没有“漏洞”或“缺口”。因此,输出中不得包含任何多余的尾随或前导字符(典型的可选尾随换行符除外)。输入将始终是一致的,并且没有片段会相互冲突。 因为这是code-golf,所以以字节为单位的最短代码将获胜。 测试用例: In Out ----------------------------------------------------------- [[2, "CG"], [0, "PP"], [1, "PC"]] | PPCG [[0, "foobarbaz"]] | foobarbaz [[0, "foobar"], [6, "baz"]] | foobarbaz [[2, "ob"], [5, "rba"], [0, "fooba"], [8, "z"]] | foobarbaz [[0, "fo"], [0, "fooba"], [0, "foobarbaz"]] | foobarbaz
29 code-golf  string 

10
圣诞老人的决定
圣诞老人的决定: 在此挑战中,您将帮助圣诞老人确定名单上的某个人是顽皮还是好人,然后得到coal或toys。 但不幸的是,Santa的组织混乱,在他的某些条目中naughty,nice 和name字段的顺序错误。 输入值 输入将采用以下可互换格式: 该人的名字(只能包含一个冒号a-zA-Z0-9) 这个词naughty后面直接跟一个冒号和一个非负整数,代表圣诞老人抓到你调皮的次数 这个词nice后面直接跟一个冒号和一个非负整数,表示圣诞老人抓住你的好时光的次数 它们之间用单个空格(ASCII 32)隔开。 此外,该名称在名称Santa Claus->的各部分之间将没有空格SantaClaus。 奖金: (25%):他是圣诞老人,所以他需要检查列表两次,并确保没有重复项。(在这种情况下,它只会获得用户拥有的第一个分数) 例: Quill naughty:4 nice:0 naughty:0 Doorknob nice:3 naughty:2 Quill nice:6 nice:3 balpha naughty:3 pops nice:4 naughty:2 输出: 输出应包括: 此人的姓名,后跟: 如果中还有更多要点naughty,则coal: 如果还有更多要点nice,则toys。 但是如果naughty和nice相等,那么needs more data 输出示例: 有组织奖金和重复搬家奖金: Quill coal Doorknob toys balpha needs more data pops …

10
括号内为脚注
背景 LISP程序员已经占领了世界!括号已被声明为神圣字符,从现在开始,它们只能在LISP程序中使用。已经决定用脚注代替文学作品中的括号,并且为简化Markdown文本而使它自动化是您的工作。 输入值 您的输入是一个包含字母ASCII字符,空格和特殊字符的字符串,.!?()。它将不包含换行符或数字。括号将正确匹配。 输出量 您应将输入字符串中每对匹配的括号转换为脚注。发生这种情况如下: 将第一个匹配的括号对和括号之间的子字符串替换为一个以数字开头的运行编号,该编号1环绕在Markdown标记<sup>和之间</sup>。 附加到字符串的末尾 两条换行符 Markdown标签<sub>, 步骤1中的数字 空间, 括号之间的子字符串,以及 结束标记</sub>,按此顺序。 如果字符串中仍然有括号,请转到步骤1。 您的输出是结果字符串,可能带有尾随换行符。只要您的输出是正确的,就不必实现此精确算法。请注意,可能会有嵌套的括号;在这种情况下,我们的脚注将包含对其他脚注的引用。括号之间的子字符串也可以为空。有关示例,请参见下面的测试案例。 规则和计分 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 如果你的语言本身不支持十进制数(咳嗽视网膜咳嗽),你可能会在另一个基地,包括二进制或一元的注脚号码; 但是,使用一元数会产生+ 20%的罚款。 测试用例 输入: This input contains no parentheses. 输出: This input contains no parentheses. 输入: This has (some) parentheses (but not so many). 输出: This has <sup>1</sup> parentheses <sup>2</sup>. <sub>1 …

30
矮胖vs.平滑弦
考虑一个长度为N的字符串,例如Peanut ButterN =13。请注意,该字符串中有N-1对相邻字符。因为Peanut Butter,12对中的第一个是Pe,第二个是ea,最后一个是er。 当两对大多数是不同的字符时,字符串具有粗大的质量,例如chUnky。 当这些对几乎都是相同的字符时,字符串具有平滑的质量,例如sssmmsss。 将字符串的组块性定义为具有两个不同字符的线对数与线对总数(N-1)的比率。 将字符串的平滑度定义为具有两个相同字符的线对数与线对总数(N-1)的比率。 例如,Peanut Butter只有一对具有相同字符(tt)的对,因此其平滑度为1/12或0.0833,而其块状度为11/12或0.9167。 空字符串和仅包含一个字符的字符串被定义为100%平滑和0%厚实。 挑战 编写一个程序,该程序采用任意长度的字符串,并输出其块状或平滑度比率作为浮点值。 通过stdin或命令行获取输入,或者您可以编写一个带有字符串的函数。 您可以假设输入字符串仅包含可打印的ASCII字符(因此为单行)。 将浮点数输出到stdout到小数点后4位或更多位,或者如果编写了函数,则可以选择将其返回。不需要传达任何信息的小数位,例如0可以用代替0.0000。 根据需要选择块状或光滑度。只要确定您的程序输出哪个即可。 以字节为单位的最短代码获胜。 例子 Peanut Butter→粗0.91666666666度:,平滑度:0.08333333333 chUnky→粗1.0度:,平滑度:0.0 sssmmsss→粗0.28571428571度:,平滑度:0.71428571428 999→粗0.0度:,平滑度:1.0 AA→粗0.0度:,平滑度:1.0 Aa→粗1.0度:,平滑度:0.0 !→粗0.0度:,平滑度:1.0 [空字符串]→粗度:0.0,光滑度:1.0 奖金的问题:你更喜欢哪一个,矮胖或平滑的字符串?

19
最短的唯一子字符串
输入值 一个字母数字字符串s。 输出量 与中的(连续)子字符串完全匹配一次的最短字符串s。重叠出现被视为不同。如果有多个相同长度的候选者,则必须按出现顺序输出所有候选者。在此挑战中,空字符串的出现n + 1时间为length字符串n。 例 考虑字符串 "asdfasdfd" 空字符串在其中出现10次,因此它不是唯一出现的候选对象。每个字母"a","s","d",和"f"至少出现了两次,所以它们不是候选人要么。子字符串"fa"和"fd"仅出现一次,并以该顺序出现,而其他所有长度为2的子字符串出现两次。因此正确的输出是 ["fa","fd"] 规则 允许使用功能和完整程序,而不允许出现标准漏洞。在合理范围内,输出的确切格式是灵活的。特别是,不允许为空字符串生成任何输出,但不允许抛出错误。最低字节数获胜。 测试用例 "" -> [""] "abcaa" -> ["b","c"] "rererere" -> ["ererer"] "asdfasdfd" -> ["fa","fd"] "ffffhhhhfffffhhhhhfffhhh" -> ["hffff","fffff","hhhhh","hfffh"] "asdfdfasddfdfaddsasadsasadsddsddfdsasdf" -> ["fas","fad","add","fds"] 排行榜 这是我所承诺的按语言排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes <script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>site = …
29 code-golf  string 

12
单词搜索难题
给定一个矩形文本作为单词搜索难题和一个搜索字符串,请确定该文本是否包含搜索字符串。搜索字符串可能会出现: 水平,垂直或对角线 前进或后退 您可以编写一个函数或程序,并通过函数参数ARGV或STDIN接受两个字符串作为输入。输出应该是真实的或虚假的结果,可以从函数返回或写入STDOUT。 假定文本将包含任意可打印的ASCII字符(十六进制代码20至7E)和换行符。字母区分大小写。您可以假定输入文本为矩形,即所有行的长度均相同。您可以输入是否以尾随换行符结尾(如果对您的提交很重要)。 这是代码高尔夫球,最短的答案(以字节为单位)获胜。 例子 使用维基百科关于单词搜索的文章中的此网格作为第一个输入: WVERTICALL ROOAFFLSAB ACRILIATOA NDODKONWDC DRKESOODDK OEEPZEGLIW MSIIHOAERA ALRKRRIRER KODIDEDRCD HELWSLEUTH 以下搜索字符串应分别产生真实或虚假结果: Truthy: RANDOM, VERTICAL, HORIZONTAL, WORDSEARCH, WIKIPEDIA, TAIL Falsy: WordSearch, CODEGOLF, UNICORN 或者,使用此输入文本 Lorem ipsum dolor sit amet consectetu r adipisicing elit sed do eiusmod tem por incididunt ut labore et dolore …

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.