Questions tagged «string»

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

4
CUSRS-完全无用的字符串重构系统!
介绍 我是SBU(简短而独特)挑战赛的忠实拥护者,这种挑战一直都在PPCG上出现。CUSRS是一个旨在重构字符串的系统,CUSRS函数采用2个参数并输出1个String。 挑战 产生程序,函数,lambda或可接受的替代方法以执行以下操作: 鉴于String input和String refactor(作为例子),重构input使用refactor如下: 的refactor字符串将在格式((\+|\-)\w* *)+(正则表达式),例如: +Code -Golf -lf +al 每个部分都是要在上执行的重构操作input。每个程序也都有一个指针。 + 将在字符串的指针当前位置插入后缀(不带加号),然后将指针重置为0。 每个操作都应应用于input字符串,并应返回结果。 例: input: Golf +Code //pointer location: 0 output: CodeGolf //pointer location: 0 -将通过字符串增加指针,直到找到后缀。后缀将从字符串中删除,而指针将留在删除的文本的左侧。如果找不到后缀,则指针将简单地前进到String的末尾并留在此处。 input: Golf -lf //pointer location 0 output: Go //pointer location 2 例子 input: "Simple" "-impl +nip -e +er" output: "Sniper" …
11 code-golf  string 

7
建筑拆除
挑战 编写完整的程序/功能,以每秒1层的速度拆除给定的建筑物。 输入 输入是通过STDIN(或使用您的语言所说的任何东西)或通过函数的ARGUMENT 构建的。 t = 0秒 | |#| {#} |# #| |# # #| |# # #| |# # #| TTTTTTT 输入包括: | 标记楼层的开始和结束。 {,}用炸药在地板上做标记。 # 是装饰用的窗户。 是空间,它在地板内无处不在的#任何地方。 T 标记为地面(无法拆除)。 * 标志着引爆的地板。 输入规则: 建筑物从顶部开始|并在地面上结束(no(T)= no(char used in ground floor))。 #在每一层楼的每个奇怪的地方都有一扇窗户。 T 标记您输入的结尾。 只有一个地板由炸药。 每层楼都由奇数制成。字符。 当您爬下楼层时,楼层可以等于前一层的大小,也可以大2个字符。 输入可以作为chars或的数组strings。 输出: t …

2
解释重复!
这项挑战是有关重复的两个挑战系列中的第一个。第二个即将到来。 在一种叫做重复的语言(我刚刚写的东西)中,包含一个无限的字符串12345678901234567890...,带有1234567890永远重复。 以下语法可用于输出数字: +-*/:这会将运算符插入重复数字的字符串中。 例子: +-> 1+2= 3(在和之间+插入一个)+12 +*-> 1+2*3= 1+6= 7(与上面相同,但现在使用两个运算符) /-> 1/2= 0(重复使用整数除法) //-> 1/2/3= 0/3= 0(重复使用带有多个减法和除法的“左关联”) 插入每个运算符时,除非有,否则它的左边有一位数字c(请参阅下文)。 c:与字符串中的下一位数字连接。 例子: c+-> 12+3= 15(c“继续” 1并将其与下一位数字串联起来2,形成12) +c-> 1+23=24 ccc -> 1234 ():用于处理数字的括号。 例子: (c+)*-> (12+3)*4= 15*4= 60(重复使用操作顺序) (c+)/c-> (12+3)/45= 15/45=0 (cc+c)/-> (123+45)/6= 168/6=28 s:跳过数字(从无限字符串中删除数字)。 s+-> 2+3= 5(s跳过1) csc- > 124(第一cconcats …

2
Marcel Proust和Markov解密安全服务的T9文本
好像这个挑战可能在本质上是更多的Python风格 ... 不需要先验的Markov链或加密技术知识。 您是间谍,需要从英国安全服务M1S获得一些关键信息。M1S的代理很清楚,他们的Wi-Fi信号可以被拦截,利用了他们的Android / iOS安全漏洞等,因此他们所有人都使用Nokia 3310来传输使用T9自动完成功能键入的文本信息。 您以前曾破解过要交付给情报机构的电话,并在光荣的塑料键盘下安装了键盘记录程序,所以现在您收到的数字序列与他们键入的字母相对应,因此“ 鹰离开了巢穴提醒代理商 ” 84303245304270533808430637802537808430243687 可是等等!某些T9序列含糊不清(“ 6263”可能是“名称”,“鬃毛”或“双簧管”;模糊性越大,可疑性就越大!),那么您该怎么办?您知道,M1S唯一使用的入学考试是在15秒内总结Marcel Proust的杰作“回忆过去的事”,因此您要根据整个主厨中的频率分布来选择上一个单词之后的单词。普鲁斯特的魅力! 您可以破解代码并获取原始消息吗? T9的原理 T9自动完成机制可以描述如下。如上图所示,它将字母字符映射为数字。 abc -> 2 def -> 3 ghi -> 4 jkl -> 5 mno -> 6 pqrs -> 7 tuv -> 8 wxyz -> 9 <space> -> 0 <other> -> <is deleted> T9解密器接收到一个数字序列,并尝试猜测可以通过这些按键键入的单词。它可能使用标准的频率表,但我们要进一步走一步,并使用马尔可夫链预测下一个单词! 学习样本 …

2
兰福德琴弦
挑战说明 甲Langford的字符串的顺序N被定义为如下: 字符串的长度等于2*N, 该字符串包含N英语字母的第一个字母,每个字母出现两次, 对于每一对相同的字母,还有M他们之间的信件,其中M是字母的字母表中的位置(A = 1,B = 2,...,Z = 26)。 举例来说,秩序的只有两种可能兰福德字符串3是BCABAC和CABACB。如您所见,在这两个字符串中A,两个之间都有一个字母,两个之间有两个字母,两个之间有B三个字母C。给定一个正整数N,输出所有兰福德顺序的字符串N(以任何合理的格式:用换行符将它们一一打印,返回列表/数组...)。 样本输入/输出 3: [CABACB, BCABAC] 4: [DACABDCB, BCDBACAD] 5: # no output # 7: [GCFBECBDGFEADA, GBFCBDECGFDAEA, GBDFBCEDGCFAEA, GCAFACDEGBFDBE, GADAFCEDGCBFEB, GACAFDCEGBDFBE, GDAEAFDCGEBCFB, GBDEBFCDGECAFA, EGBFCBEDCGFADA, CGDFCBEDBGFAEA, EGDAFAEDCGBFCB, EGBCFBECDGAFAD, AGABFDBECGDFCE, EGADAFECDGBCFB, AGABEFBCDGECFD, BGDBCEFDCGAEAF, FBGDBCEFDCGAEA, BFGBAEADFCGEDC, CFGACADEFBGDBE, EAGAFBEDBCGFDC, BCGBFCEADAGFED, DAGAFDBECBGFCE, EBGCBFECDAGAFD, CEGDCFBEDBGAFA, CEGBCFBEDAGAFD, …
11 code-golf  string 

2
计算字符串的运行
请考虑以下W. Rytter 摘自字符串运行次数的定义。请注意,单词,字符串和子字符串大致都是同义词。 字符串中的游程是字符串中不可扩展的(具有相同的最小周期)周期段。 单词w的周期p是任何正整数p,因此只要定义了该方程式的两边,w [i] = w [i + p]。令per(w)表示w的最小周期的大小。我们说单词w是周期iff per(w)<= | w | / 2。 例如,考虑字符串x = abcab。per(abcab) = 3作为x[1] = x[1+3] = a,x[2]=x[2+3] = b并且没有更短的期限。abcab因此,该字符串不是周期性的。但是,该字符串abab是周期性的per(abab)= 2。 字符串w中的游程(或最大周期性)是一个区间[i ... j],其中j> = i,使得 w [i ... j]是周期为p = per(w [i ... j])的周期词 最大。形式上,w [i-1] = w [i-1 + p]或w …
11 code-golf  string 

5
打印AdamN磁贴
Adam7是用于栅格图像(例如PNG)的隔行算法。之所以称为“ Adam7”算法,是因为它是Adam M. Costello发明的,并且是通过遵循一定的模式7次而生成的。Adam7算法令代码高尔夫真正有趣的一件很酷的事情是,只要奇怪,该模式就可以重复任意次。早在1996 PNG年制定标准时,仅9次迭代就足够了,因为9次迭代过于复杂,而5次迭代效率不高。 这是图块的第一次迭代: a 很简单 这是一个“ Adam1”图块。这是我们进入下一个迭代的方式,即“ Adam3”图块。 由于上一张是1x1,我们将高度和宽度加倍,下一张将是2x2。首先,我们从左上角的“ a”开始。 a- -- 第2步,将此模式复制到右侧,然后将我们的字母增加一个。 ab -- 步骤3与步骤2相同,但请向下复制而不是向右复制。 ab cc 繁荣。“ Adam3”图块。让我们也执行“ Adam5”,这样您就可以实际了解算法的工作原理。因此,此图块将再大一倍4x4。同样,我们从a左上角的a开始: a--- ---- ---- ---- 将此模式加倍,增加字母,然后将其移至右侧: a-b- ---- ---- ---- 再次,这次下来。 a-b- ---- c-c- ---- 同样,这次是在右边。 adbd ---- cdcd ---- 再次,这次下来。 adbd eeee cdcd eeee 这是“ Adam5”图块。这是Adam7磁贴的ASCII表示形式: …

8
画一个phi三角形
澄清:基本上,你需要这个 欧拉的totient函数的名称为phi。 让我们尝试计算phi(8) 首先,向后列出所有数字8,且不包括0或以下 8 7 6 5 4 3 2 1 现在找出哪些数字与8不共享因数(1不计数),并#在其位置放置a 。 8 # 6 # 4 # 2 # 删除数字。 # # # # - 现在执行此操作,但是将输出串成三角形 9 88 777 6666 55555 444444 3333333 22222222 111111111 --------- 123456789 # 排除非要素共享数 9 8# 7## 6#66 5#### 4#4#4# 3##3##3 2#2#2#2# …

7
阅读填字游戏
受有关将其打包成这种格式的问题的启发。 有时,我会看到完整的填字游戏,而且就像我一样,我不费力气找出线索的真正解决方案是什么。 输入: 2D字符串(任何格式,换行符分隔,2d列表等) 空白方块将以(空格字符)表示 每隔一个正方形将使用小写字母。 您可能假设输入将用空格填充以形成一个矩形 输出: 找到每个字 您必须上下搜索单词 单词长度至少为两个字母 如果有重复的单词,则每次出现时都必须输出它们 您不必进行任何验证 单词可以以任何顺序输出 没有严格的格式化规则 测试用例: word e e step t d word, step, west, reed --- pies not no wasp pies, not, no, wasp, in, eons, stop --- igloo n word igloo, word, on

10
将字符串拆分为n个(或长度为n的片段)
挑战 在此挑战中,您必须根据输入的顺序执行两个不同(但相关)的任务。 您的程序将接收一个字符串s和一个整数n作为输入,并将 分裂s成长度的片段n,如果s是第一位。如果需要,最后一个元素将更短。 分割s成n相等长度的块,如果n是第一位。如果len(s)不是,n则第一个len(s) mod n元素的倍数将更长。 您只能接受这2个输入。s永远不会只包含数字。 笔记 您可以使用反向映射。如果这样做,请在您的答案中注明。 s将仅包含可打印的ASCII字符(无换行符)。 您可能不使用任何直接解决这两个任务的内置程序。允许所有其他内置程序。 您必须从同一来源获得两个参数。 您可以采用有序列表或其他任何可以清楚表明其顺序的格式来表示参数,只要它们是明确的即可。 您可以将输入作为一个字符串/流,并使用不是有效输入的字符(如空字节)来分隔它们。 n将始终等于或小于长度s且大于零。 您可以以任何合理的格式输出结果列表,只要它能清楚表明特定的部分及其顺序即可。 例 输入: programming, 3 最后一个元素仅包含2个字符,因为11不能被3整除。 输出: ["pro", "gra", "mmi", "ng"] 输入: 3, programming 11不是3的倍数,因此前2个元素将更长: 输出: ["prog", "ramm", "ing"] 规则 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 该Pyth程序生成了测试用例(使用内置函数,因此没有有效答案)。感谢@FryAmTheEggman提供的基本版本! 3,helloworld-> ['hell','owo','rld'] helloworld,3-> ['hel','low','orl','d'] 1,编程-> ['编程'] 编程,1-> ['p','r','o','g','r','a','m','m','i','n','g'] …
11 code-golf  string 

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

3
滑动资本
背景 想象一下用大写字母连续写成的英语字母- ABCDEFGHIJKLMNOPQRSTUVWXYZ。假设我们有一个特殊的可变宽度镜头,这样当放置在行上时,它会显示字母的某个“窗口”,而镜头外的字母则不可见。此外,此镜片具有翘曲特性,因此镜片内的第一个字母以及此后的每个第二个字母均小写,但其余字母仍显示为大写。 例如,我们可以在字母表的中间位置放置长度为5的镜头,我们将只能看到. jKlMn(在这里引期,以确保空白所示) -注意K,并M仍在资本,同时j,l和n都较低装箱。当我们沿着字母从左到右滑动此镜头时,将显示不同的字母,并且不同的字母大写。此处的任务是在镜头沿字母滑动时输出结果字母。 挑战 编写一个程序或函数,该程序或函数采用输入整数0 < n < 27并输出或返回在上述镜头在字母表上滑动时可见的字符串。 对于n大于的值1,镜头从“悬挂”在字母的左侧开始,因此A在镜头的最右侧插槽中仅显示。因此A,根据镜头的长度,任何输出的第一行将是单个大写或小写字母。 同样,当透镜位于透镜Z最左侧的插槽中时,透镜结束滑动(这意味着任何输出的最后一行始终为25个空格,后接小写字母z)。 例子 输入: 1 输出: 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 输入: 4 输出: A aB AbC …


9
相互填补空白
给定两个字符串的输入,下划线表示相应的单词,输出带有“空白”的句子。 描述此挑战的最佳方法是举例。这是一个示例输入: programming _____________ and code golf programming puzzles ______ code ____ 这是对应的输出: programming ___puzzles___ and code golf programming puzzles _and__ code golf 出于此挑战的目的,“单词”定义为一个或多个小写字母的序列,“空白”定义为一个或多个下划线(输入将始终仅包含小写字母,空格和下划线) 。输入字符串中的单词和空格由单个空格分隔,并且句子中单词和空格的总和将始终相等。 挑战的目的是用正确的 词填充所有空白,即当用空格分隔时,在其他字符串中占据相同索引的词。 如上例中的单词“ puzzles”所示,该单词必须居中于空白处—两侧均保留相同数量的下划线。 如果该单词不能精确居中,则多余的下划线可能在左侧或右侧(例如,上例中的单词“ and”)。 总是有足够的下划线使该单词适合,但可能与该单词的长度一样多(例如,上例中的单词“ golf”)。 两个字符串中相同位置永远不会有空格。 输入/输出可以是以下任意一种(输入/输出不一定必须通过相同的方法): 单个字符串,由任何非字母,空格或下划线的字符分隔(例如,换行符或逗号分隔的字符串) 数组/列表/等。两个弦 两个功能/命令行参数(仅输入) 由于这是code-golf,因此以字节为单位的最短代码将获胜。 上面的示例可以用作测试用例。这是一个较大的测试用例(由于居中行为不同,输出中的第二个字符串可能会略有不同): lorem _____ dolor _____ amet _______________ adipiscing elit mauris dapibus …
11 code-golf  string 

3
阅读表
任务 给定一组坐标读取表的内容。 表格格式 表格将采用以下基本格式: |[name]|[name]| --------------------- [name]| [val]|[val] | [name]| [val]|[val] | 列名在列中始终是唯一的。行名也是唯一的行内。这包括除空格以外的相同名称。值,列名和行名将永远不会包含|-在其中。名称和值中绝对不能有空格,但可以有前导或尾随空格。列宽可根据标题/内容进行调整。列宽从上到下始终是一致的。 输入值 一个表和一个用空格分隔的[name]s 列表。 例 [table] row col 如果要编写函数,则它们可以是单独的字符串,否则,row col将始终是输入中的最后一行。row col在格式上具有一定的灵活性,可以用多种方式表示。(例如(row, col),r, c...)。唯一的硬性要求是它必须是一行,并且必须按顺序出现col row。 输出量 输入所指定的单元格内容,单元格前无尾随空格。 例子 In: |a|z |_*| ------------ atb|1|85|22| b |5|6 |e$| /+*|8|we|th| atb a Out: 1 In: | x| b | ---------- ab|l |mmm| …
11 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.