Questions tagged «string»

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

6
最短的普通超弦
给定一个字符串列表s_0, s_1, ..., s_n找到最短的字符串S,其中包含每s_0, s_1, ..., s_n一个字符串。 例子: S('LOREM', 'DOLOR', 'SED', 'DO', 'MAGNA', 'AD', 'DOLORE')='SEDOLOREMAGNAD' S('ABCDE', 'BCD', 'C')='ABCDE' 编写解决此问题的最短程序(或函数)。您可以根据需要将字符串表示为数组或字符/整数列表。标准库可以。对于输入/输出,可以使用更方便的方法:STDIN / STDOUT,用户提示,函数的参数/返回值等。 性能并不重要-假设,对于总长度<100个字符的输入,平均现代硬件上的结果必须在<10秒内计算出来。
26 code-golf  string 

16
建立一群疑似幸福的莱尼面孔(͡°͜ʖ͡°)
我在Reddit上经历了一个奇怪的话题,并遇到了这个问题: (͡°(͡°͜ʖ(͡°͜ʖ͡°)ʖ)°) 它代表一群人有些可疑的微笑。 (不过,在下面的挑战中,当我编写挑战时,右眼左侧的空间以某种方式掉落了。请注意规范)。 您的目标是n使用以下规则创建一组深浅的笑脸面孔: 在深度一处,显示了一个全脸(( ͡° ͜ʖ ͡°))。 在深度二处,示出了半个面。在左侧,代表了略多于一半的脸(( ͡° ͜ʖ)。但是,在右侧显示了右侧,并且省略了嘴巴(ʖ ͡°)) 较深处,仅显示了头部和眼睛的侧面(( ͡°和͡°)。眼睛和头部的左侧之间有一个间隔,但尽管有出现,但右侧没有任何间隔。该间隔是由于͡字符有点混乱。 输入: n,显示要显示的面孔深度为几层。 n将始终在范围内0 <= n <= 500。您无需处理此范围以外的任何内容。 n可以偏移1,以便0表示一个面而不是没有面。但是您将需要处理-1。 输出: 字符串或字符数组,或任何可远程比较的东西(例如Python / Javascript中的单字符字符串列表)。也可以直接打印。尾随空格很好。 您可以提交完整的程序或功能。 由于很难看到涉及的字符,因此它是用Python布局的: >> [ord(c) for c in '( ͡° ͜ʖ ͡°)'] [40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41] >> …

14
我的电影有多令人沮丧?
我的父母有家庭影院设备。遥控器坏了,很难在菜单中向右导航。大多数情况下,它不起作用,但是当它起作用时,它会迅速向右快速移动。 这显然很令人沮丧,但是当您想要输入需要导航如下所示的键盘的电影标题时,这最令人沮丧: a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 您的任务是将电影标题作为输入并计算键入该电影标题的“令人沮丧”程度。特定字符串的无奈数是需要从其前面的字母开始右移的字母的数量。我们不在乎它们有多远,因为如果我们开始向右移动,我们几乎会立即到达行尾,并且我们也不在乎向上,向下或向左移动,因为它们很容易。 例如,如果我们想输入 keyboard 我们从k免费开始。 e就在上方,k因此我们不需要向右移动。 y 一路向左,因此无需向右移动。 b 但是,它在下一列的右侧,因此我们需要向右移动才能到达。 o 在下一列上,因此我们必须向右移动才能到达。 a …
25 code-golf  string 

30
正如程序员所说:努力变得懒惰
故事 您看过9gag的这篇文章吗?也许您有自己的句子的感觉。但是随后您意识到,您只需要半个小时就可以打高尔夫球,而您将不必再花时间在上面。 提交 您的程序将获得一个输入字符串,该字符串将以加引号的形式返回,如下所述。禁止出现标准漏洞。允许输出为行列表。允许使用不影响输出的尾随空格和空行。 输入规则 输入仅包含可打印的ASCII字符。 输入中可能包含空格。单词是由它们决定的。 保证一个空间永远不会跟着另一个空间。 没有输入或空字符串的情况无关紧要。 输出规则 如果给出了一个单词,则程序必须在引号之间返回字符串。 如果输入字符串包含2个或更多单词,则它首先返回初始输入,但第一个单词用引号引起来。然后在下一行,它返回初始输入,但第二个单词用引号引起来。剩下的话依此类推。 通常,程序必须返回与输入中的单词一样多的行。 例子: test -> "test" This is codegolf -> "This" is codegolf This "is" codegolf This is "codegolf" This is a significantly longer, but not the longest testcase -> "This" is a significantly longer, but not the longest …
25 code-golf  string 

25
检测完美配对
让我们有一个函数,它接收一个字符串并删除所有成对的相邻相同字符。例如fff f(abbbacc)=abaf(abbbacc)=abaf(a\color{red}{bb}ba\color{red}{cc}) = aba 请注意,当两对重叠时,我们只会移除其中一对。 如果重复应用最终产生空字符串,我们将调用完美配对的字符串。例如,上面的字符串不是完美配对的,因为如果再次应用,我们仍然会得到。然而,像这样的字符串是完美配对的,因为如果我们应用三次,我们将得到空字符串abbbaccabbbaccabbbaccfffabaabaabaeabbccaddeeabbccaddeeabbccaddefff f(eabbccadde)=eaaef(eabbccadde)=eaaef(ea\color{red}{bbcc}a\color{red}{dd}e) = eaae f(eaae)=eef(eaae)=eef(e\color{red}{aa}e) = ee f(ee)=f(ee)=f(\color{red}{ee}) = 您的任务是编写完美配对的计算机代码,该代码采用一个字符串(可打印ASCII),并确定其是否完全配对。源的字节串本身必须是完美配对的字符串,尽管您的代码不必一定限于可打印的ASCII。 您可以输出两个不同的值:一个用于输入完美配对的情况,另一个用于不配对的情况。 这是一个代码问题,因此答案将按其来源的字节大小进行评分,而字节越少越好。 测试用例 abbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc→Falseabcba→Falseabab→Falseabbbaabacc→Trueeabbccadde→Truebbbb→Trueabbbacc \rightarrow \mathrm{False}\\ abcba \rightarrow \mathrm{False}\\ abab \rightarrow \mathrm{False}\\ abbbaabacc \rightarrow \mathrm{True}\\ eabbccadde \rightarrow \mathrm{True}\\ bbbb \rightarrow \mathrm{True}

19
记住元音!
输入项 一串可打印的ASCII字符,例如: This is an example string. 输出量 对于每个BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyz没有元音(AEIOUaeiou)的辅音(),请在其末尾添加小写字母。 第一个元音之前的辅音保持原样: Thisi isi ana examapale seterinigi. 测试用例 AN EXAMPLE WITH A LOT UPPERCASE (plus some lowercase) => ANa EXAMaPaLE WITiHi A LOTo UPuPEReCASE (pelusu some lowerecase) And here comes a **TEST** case with 10% symbols/numbers(#)! => Anada here comese a **TESeTe** …
25 code-golf  string 

25
Golf A括号匹配算法
您将得到一个字符串s。保证字符串具有相等的且至少为[s和]s。还可以保证括号是平衡的。该字符串也可以包含其他字符。 目的是输出/返回元组列表或包含每个[和]对的索引的列表列表。 注意:字符串为零索引。 示例: !^45sdfd[hello world[[djfut]%%357]sr[jf]s][srtdg][]应返回 [(8, 41), (20, 33), (21, 27), (36, 39), (42, 48), (49, 50)]或与此等效的东西。元组不是必需的。列表也可以使用。 测试用例: input:[[asdf][][td([)ty54g% ]hg[[f]u][f[[jhg][gfd]sdf]sdfs]ghd]fr43f] output:[(0, 62),(1, 6), (7, 8), (9, 56), (13, 22), (25, 30), (26, 28), (31, 52), (33, 47), (34, 38), (39, 43)] input:[[][][][]][[][][][[[[(]]]]])) output:[(0, 9), (1, 2), (3, 4), (5, …

30
让我们设计一个数字马赛克
挑战 给定一个正整数,重复其数字一个,对应于它在位置。换句话说,每个数字应该重复次(对于每个,以1为索引),从而创建新的数字:NñNd1,d2,d3,⋯,dnd1个,d2,d3,⋯,dñd_1, d_2, d_3, \cdots, d_nNñNdkdķd_kkķk1≤k≤n1个≤ķ≤ñ1\le k\le n d1d2d2d3d3d3⋯dndndn⋯dnn times¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯d1个d2d2d3d3d3⋯dñdñdñ⋯dñ⏟ñ 次¯\overline{d_1d_2d_2d_3d_3d_3\cdots\underbrace{d_nd_nd_n\cdots d_n}_{n\text { times}}} 然后,将其水平和垂直记录下来,并在空白处填充数字的副本,该副本与空格的列索引和行索引之间的较大索引相对应。最终输出应如下所示: ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1个d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮]\begin{bmatrix} \color{red}{d_1} \color{green}{d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 d_3 d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 …

30
IP地址与否?
您的网络扫描工具烦人地挑剔输入,如果您向它提供了包含不正确字符或格式不正确的IPv4地址,则会立即崩溃。 IPv4地址是一个32位数字地址,用四个数字隔开,每个数字用句点分隔。每个数字可以为零到255。 我们需要编写一个工具来对输入进行预验证以避免这些崩溃,并且我们的特定工具很挑剔:有效的格式如下所示:a.b.c.da,b,c和d: 可以是一个无前导零0的自然数。 应介于0-255(含)之间。 如果不包含特殊符号+,-,,,等。 应为小数(以开头10) 输入:字符串 输出:真值或假​​值(也可以接受任意值) 测试用例: Input | Output | Reason | | - 1.160.10.240 | true | - 192.001.32.47 | false | (leading zeros present) - 1.2.3. | false | (only three digits) - 1.2.3 | false | (only three digits) - 0.00.10.255 | false …

20
形状识别程序
您的任务是构建一个识别输入形状的程序。要标识的形状可以是以下任意一种: 广场 要被识别为正方形,源必须具有所有等长的行,并且每行的字符数与行数相同(不包括换行符)。可选的尾随换行符是可接受的。 $_=' $_=" $_"' ;say 长方形 要被识别为矩形,源必须具有全部等长的行,但是行数与每行的字符数不匹配(不包括换行符)。可选的尾随换行符是可以接受的。这可以是水平或垂直的。 $_= "no t a squ are ";# $_="but it is still a consistent shape!";## 三角形 要标识为三角形,源代码必须以一个字符开头,并且每行之后必须有一个附加字符(包括最后一个字符),或者在第一行之后,每行之后的最后一行应少一个字符,直到最后一行只有一个。 $ _= "So this "."". shape; $_="or even, this way !! " 混乱 任何不遵循上述一致格式的内容,都必须识别为混乱。 规则 您可以返回任何四个一致的可打印值来标识每个形状。 您的源代码还必须遵守上述形状之一(不,不要乱成一团)。 您的源中的一条尾随换行符是可以接受的。 您可以假定输入不包含任何空行(包括尾随换行符),不为空并且不仅由换行符组成。 所有形状的高度和宽度必须大于等于2,否则定义为混乱。 禁止出现标准漏洞。 每种语言中以字节为单位的最短解决方案为准。

24
将字符串减少为字母的一小段
给定一个仅包含小写和大写字母字符和空格([a-zA-Z ])的非空字符串,请将其缩减为从第一个字符开始的字母代码段。 要减少字符串,请从第一个字母字符开始,然后删除其后不是字母下一个字母的每个字符。继续执行此操作,直到到达字符串末尾。 例如codegolf: 以开始c,请删除,o因为它不是字母表的下一个字母。 保持d,因为它是字母表中的一个字母,并保持e,因为它是一个字母了。 删除g,o和l,然后保留f。 您的最后一个片段将是 cdef 规则 应该保持大写,这样CodEgolF会导致CdEF 空格不是字母,因此即使它是字符串的开头,也应始终将其删除 由于减少的性质,输入的第一个字母字符将始终是输出的第一个字符。 zZ是字母表的最后一个字母。其后没有字母,字母不会循环。 测试用例 codegolf -> cdef CodEgolf -> CdEf codeolfg -> cdefg ProgrammingPuzzles -> P Stack Exchange -> St The quick red fox jumped over the lazy brown dog -> Tuvw Zebra -> Z Abcdegfhijkl -> Abcdef 计分 …

11
他没有来-挑战挑战
编写一个给定字符串的程序或函数,如果有的话,它将zalgo剥离。 扎尔戈 对于本文,zalgo被定义为以下Unicode范围内的任何字符: 组合变音标记(0300–036F) 合并变音符号扩展(1AB0–1AFF) 组合变音符号补充(1DC0–1DFF) 组合符号的变音符号(20D0–20FF) 合并半角线(FE20–FE2F) https://zh.wikipedia.org/wiki/Combining_character#Unicode_ranges 输入项 可以通过命令行参数,STDIN或您的语言支持的任何其他标准输入法来传递 将是可能包含zalgo或其他非ASCII字符的字符串 输出量 输出应为不包含任何zalgo的字符串。 测试用例 Input -> Output HE̸͚ͦ ̓C͉Õ̗͕M͙͌͆E̋̃ͥT̠͕͌H̤̯͛ -> HE COMETH C͉̊od̓e͔͝ ̆G̀̑ͧo͜l͔̯͊f͉͍ -> Code Golf aaaͧͩa͕̰ȃ̘͕aa̚͢͝aa͗̿͢ -> aaaaaaaaa ññ -> ñn ⚡⃤ -> ⚡ 计分 因为这是代码高尔夫,所以以字节为单位的最短答案会获胜。

11
完美回文
您的任务是确定一个字符串有多少完美的回文。您的典型回文(例如12321)是一个完美的回文。完美是1。 要确定字符串的完美性,您可以看到可以将其分成多少部分,每个部分都是回文。如果存在歧义,例如with aaaa,可以将其拆分为[aa, aa]or [aaaa]或[a, aaa]or [aaa, a],则最短集合将被覆盖,aaaa得分为1,这是最短集合的长度。 因此,您必须编写一个程序或函数,该程序或函数将接受一个非空输入并输出其完美程度(这是可将其拆分为集合中每个元素为回文的最短集合的长度)。 例子: 1111 -> 1 [1111] abcb -> 2 [a, bcb] abcbd -> 3 [a, bcb, d] abcde -> 5 [a, b, c, d, e] 66a -> 2 [66, a] abcba-> 1 [abcba] x -> 1 [x] ababacab -> 2 [aba, bacab] …

12
查找原始字符串,不重复,中间不重复
有时会发生这样的情况:在输入句子时,我会分心,最终两次连续输入相同的单词两次。 为了确保其他人不会对此感到烦恼,您的任务是编写一个解决此问题的程序! 任务 给定一个输入字符串(如果对您的语言而言很重要,则可以假定不包含换行符的仅ASCII输入。)str,在其中间某处包含一个子字符串,该子字符串立即连续出现两次,并返回带有此字符串的一个实例的字符串子字符串已删除。 如果存在多种可能性,则返回可能的最短答案(即,选择最长的连续重复子串并删除该子串)。 如果有多个等长的连续重复子字符串,请删除第一个(即从前向后读取该字符串时遇到的第一个)。 您可以假设输入正确(即始终包含一个连续的重复子字符串),这可能有助于降低它的负担。 例子 输入:hello hello world->输出:hello world。 输入:foofoo->输出:foo。(因此:是的,字符串可能只包含两次重复部分)。 输入:aaaaa->输出:aaa,因为最长的重复连续子字符串在此处aa。 输入:Slartibartfast->这不是有效的输入,因为它不包含连续的重复子字符串,因此您无需处理这种情况。 输入:the few the bar->这是另一个无效的输入,因为重复部分应立即跟随原始部分。在这种情况下,the并且the之间用其他分隔符隔开,因此此输入无效。 输入:ababcbc->输出:abcbc。两个可能最长的连续重复子串是ab和bc。如ab字符串前面所述,这是正确的答案。 输入:Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo。输出:Buffalo buffalo buffalo buffalo Buffalo buffalo。(执行的替换应区分大小写)。 输入:Sometimes it happens that while typing a sentence, I am distracted and I end up typing the …

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

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.