Questions tagged «string»

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

24
破解谜团?
介绍 谜是第二次世界大战中使用的首批机电转子密码机之一。这意味着在对单个字母进行编码后,它将更改下一个字母的密钥。由于巨大的钥匙空间,德国人认为这是坚不可摧的。甚至暴力破解几乎是不可能的。但是,Enigma中存在设计错误。加密字母永远不会成功。这意味着该字母A可以加密除该字母以外的所有字母A。 让我们以编码消息为例: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ 典型的德语单词是WETTERBERICHT或英语的天气预报。通过上面的原理,我们可以确定单词可能在哪些位置: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ 这是不可能的,因为I无法对其进行加密,因此我们继续前进1个位置: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ 这也是不可能的,因此我们再次移动另一个位置: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT ^ 这又是不可能的。实际上,第一个可能的发生WETTERBERICHT是: BHGEFXWFTIUPITHHLPETTTCLOEWOELMRXXPAKAXMAMTXXUDLTWTNHKELEPPLHPRQ WETTERBERICHT 0123456789012345678901234567890123456789012345678901234567890123 ^ 13 因此,我们返回第一个可能出现的0索引位置,即13。 任务 给定一条已编码的消息和一个单词,找到第一个可能出现的索引。 假设仅使用基本的大写字母字符(ABCDEFGHIJKLMNOPQRSTUVWXYZ)。 如果未发现任何情况,则可以输出任何负整数,字符或什么都不输出(例如-1,X)。 输入可以被接受为参数,可以使用单独的换行符,列表或其他任何形式。 这是代码高尔夫球,因此以最少的字节提交为准! 测试用例 Input: BHGEFXWFTIUPITHHLPETTTCLOEWOELM, WETTERBERICHT Output: 13 Input: ABCDEFGHIJKL, HELLO Output: 0 Input: EEEEEEEEEEEE, HELLO Output: -1 Input: XEEFSLBSELDJMADNADKDPSSPRNEBWIENPF, DEUTSCHLAND Output: 11 …
65 code-golf  string 

22
小猫命令
小猫很像猫。主要区别是可爱,缺乏智能和身材。同样,该cat命令不同于该kitten命令。幸运的是,在这种情况下只有一个区别。在小猫命令中,所有大写字母均替换为小写字母。 目的 实现行为与相似的程序cat。所有字符[A-Z]均以小写形式输出。 输入项 文件列表作为命令行参数。如果未列出文件,则从标准输入中读取。输入内容可能包含无法打印的字符和ASCII范围之外的字符。 输出量 如果输入是一堆文件,请连接内容并将所有字符输出为小写。如果从STDIN读取,则将STDIN的内容输出为所有大写字母为小写。 注意:仅使字符[A-Z]小写。如果将任何其他字符设置为小写,则是不可接受的。 例子 $ echo "HelLo" > file.txt $ kitten file.txt hello $ echo "Good Bye" | kitten good bye $ echo "Ä" | kitten Ä 与code-golf一样,最少的字节为准。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # …

30
高尔夫黄鼠狼计划
理查德•道金斯(Richard Dawkins)在他的“ 盲人制表师”一书中描述了鼬鼠程序。该算法可以描述如下: 以28个字符的随机字符串开头。有效字符均为大写字母和空格。 制作该字符串的100个副本,每个字符的5%机会被随机字符替换。 将每个新字符串与目标“比较像是Weasel的单词”进行比较,并根据字符串中正确且位置正确的字母数给每个得分。 如果任何新字符串的得分都很高(28),请暂停。 从第3步中选择得分最高的字符串。如何决定平局取决于您,但是只能选择一个字符串。以所选的字符串并转到步骤2。 获胜者将是获得正确答案的最短代码段,同时以以下格式打印每一代得分最高的字符串: 如果人们可以通过检查其他人来帮助您,那么答案将非常有帮助!

30
取消注释COBOL程序!
COBOL是一种非常古老的语言,在撰写本文时已经58岁了。实际上,它太老了,以至于它有一个非常有趣的怪癖:每行的前六个字符是注释。 你问为什么呢?好吧,那六个字符原本是要用作行号的,那是在程序不是完全数字化并在计算机上打字的那个日子。 此外,第七个字符只能是一个很小的集合的一部分(通常是 *是注释掉该行或一个空格以将行号与代码分开) 但是,如果您使用的是数字系统,并且只想要原始程序,该怎么办? 评论系统 COBOL中有两种类型的注释:行注释和前面提到的“行号”注释。 取消注释行号很简单:只需从每行中删除前七个字符(六个加一个空格)。 000000 apple 000001 banana celery donuts 会成为: apple banana donuts 行注释使它变得更加困难。行注释以星号开头,该星号*位于行的第七个字符位置,如下所示: 000323* this is a comment 这不是一行注释: *00000 this isn't a comment 要取消注释行注释,只需删除整行。 一个示例注释了“程序”: 000000 blah blah 000001* apples 000002 oranges? 000003* yeah, oranges. 000*04 love me some oranges 未注释的版本: blah blah …

19
总而言之,这只是代码高尔夫中的另一个技巧
挑战的目的是为摇滚乐队Pink Floyd制作这张专辑的封面的ASCII版本。 砖路口由字母_和字母组成|。砖的宽度为7,高度为2,但不包括路口。因此,包括联结在内的基本单位是: _________ | | | | _________ 每行积木相对于上一行偏移一半积木宽度(4个字符): ________________________________________ | | | | | | | | | | ________________________________________ | | | | | | | | | | ________________________________________ | | | | | | | | | | 墙的参数设置如下。所有参数均以char度量,包括连接点: 第一行的水平偏移量F。这是左边缘与最上一行的第一个垂直交点之间的距离。(还要记住行之间的半砖相对偏移)。其可能值0,1,..., 7。 总宽度,W。这包括路口。其值为正整数。 总高度,H。这包括路口。其值为正整数。 墙的顶部始终与一行的顶部重合。底部可能参差不齐(如果总高度不是的倍数3)。例如,这里的输出6,44,11: ____________________________________________ …

12
反向缩进
我听说,如果反向缩进代码,则代码可以更快地运行,以便编译器可以从“分支”的顶部开始像树设计模式一样对其进行处理。这会有所帮助,因为重力会加快编译代码所需的时间,并且会提高数据结构的效率。这是一个Java脚本编写示例: function fib(n) { var a = 1, b = 1; while (--n > 0) { var tmp = a; a = b; b += tmp; if (a === Infinity) { return "Error!"; } } return a; } 但是由于某些原因,记事本没有设置可以自动执行此操作,因此我需要一个程序来为我执行此操作。 描述 提交的内容必须以代码段作为输入,缩进缩进并输出结果代码。 这是通过以下过程完成的: 将代码分成几行。每行将以零个或多个空格开头(将没有制表符)。 在代码中找到所有唯一的缩进级别。例如,对于上面的示例,这将是 0 4 8 12 反转此缩进级别列表的顺序,然后将反转的列表映射到原始列表。这很难用语言解释,但是对于示例来说,它看起来像 0 …

28
为什么6害怕7?
为什么6害怕7?因为7 8 9! 给定字符串,请执行以下转换: 如果7旁边有6,则删除6(6害怕7) 如果出现序列“ 789”,则删除8和9(7 ate 9) (如果我没记错的话,以什么顺序进行转换都没关系) 继续应用这些转换,直到不再使用。 例: 78966 首先我们看到“ 789”,因此字符串变成“ 766”。然后我们看到“ 76”,所以我们取出6,字符串变成“ 76”。然后我们再次看到“ 76”,所以我们剩下“ 7”。 测试用例: 987=> 987(顺序不正确。不执行任何操作。) 6 7=> 6 7(空格用作6到7之间的缓冲区。什么都没有发生) 676 => 7 7896789 => 77 7689 => 7 abcd => abcd
61 code-golf  string 

30
画我的斜线
作为程序员,您可能听说过正斜杠和反斜杠。但是您听说过减斜线吗?那是当您采取一堆斜线,连接它们的末端并使其下降时。 对于今天的挑战,您必须编写一个程序或函数,该程序或函数采用一个纯粹由斜杠组成的字符串,并输出在连接它们的直线中向下绘制的所有斜杠。如果您看到一个示例,这将更加清楚。给定字符串\\\//\/\\,您应该输出: \ \ \ / / \ / \ \ 以下是一些说明: 每行必须有一个斜线。 第一行将有0个前导空格。 对于每对斜杠: 如果它们彼此不同,则将它们绘制在同一列中。例如,\/将给出: \ / 如果它们是相同字符,则下一个字符指向的方向,即向右移动一个反斜杠,向左移动一个正斜杠。所以\\//会给 \ \ / / 每行可能会有多余的尾随空白,只要这不会改变输出的视觉外观。最多也可以使用一个尾随且领先的换行符。不允许有多余的前导空格! 为了简化操作,您可以假设该字符串永远不会包含太多的正斜杠。换句话说,输入的前缀不会包含比反斜杠更多的正斜杠,因此永远不会给出类似\\////或的输入//。这也意味着每个输入都将以反斜杠开头。 如果将输入作为字符串文字使用,则必要时可以转义反斜杠。您也将永远不需要处理空的输入或包含除斜杠以外的字符的输入。 您可以采用任何合理的格式输出。 像往常一样,这是一个挑战代码的挑战,因此即使您选择的语言很难,也请尝试提供最短的解决方案。奖励积分,用于解释您曾经剥夺字节数的任何有趣技术! 例子 #Input \\\\\\\\\\\ #Output \ \ \ \ \ \ \ \ \ \ \ #Input \\\//\\/\//\\/// #Output \ \ \ / …

30
Oreoorererereoo
Oreoorererereoo 给定与单词“ oreo”相似的输入字符串,请给出与输入字符串一样宽的cookie的ASCII表示形式(以确保cookie的稳定性)。 规则 输入为小写字母,这是一个非空字符串,不包含空格,其中包含字符串“ o”和“ re”的任何组合,并且仅包含那些字符串。 字符串“ o”代表固态饼干,而字符串“ re”代表馅料。 输出必须是与输入字符串一样宽的堆叠cookie。 输出可能不是字符串数组 Cookie的每一边必须与填充物重叠一个字符 用于输出的字符不必与下面的输出(█和░)匹配,对于Cookie的两个部分,它们必须是不同的非空白字符 填充左侧的空白填充是必需的,任何结尾的空白都是可选的 例子 Input: oreo Output: ████ ░░ ████ Input: o Output: █ Input: re Output: (two spaces) Input: rere Output: ░░ ░░ Input: oreoorererereoo Output: ███████████████ ░░░░░░░░░░░░░ ███████████████ ███████████████ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ███████████████ ███████████████ 因为这是代码高尔夫球,所以最短的答案会获胜,祝您好运:)

30
这不是火箭科学
编写一个包含单行字符串的程序或函数。您可以假定它仅包含可打印的ASCII。打印或返回ASCII艺术火箭的字符串,例如 | /_\ |E| |a| |r| |t| |h| |_| /___\ VvV 输入字符串从上到下写在机身上。在这种情况下,输入为Earth。火箭的高度(包括火焰)始终是弦的长度加五。 输出中的每一行最多可以有两个尾随空格,并且可能只有一个可选的尾随换行符。以字节为单位的最短代码获胜。 更多示例: [empty string] | /_\ |_| /___\ VvV a | /_\ |a| |_| /___\ VvV |0 | /_\ ||| |0| |_| /___\ VvV \/\ | /_\ |\| |/| |\| |_| /___\ VvV _ _ [note trailing space] …

13
打印字时钟
自从几年前我看到第一个单词以来,我总是被这种字时钟所困扰,在这种时钟中,时间实际上是由点亮或未点亮成有意义的句子来说明的。 该时钟上显示的文本如下。 IT IS HALF TEN QUARTER TWENTY FIVE MINUTES TO PAST TWO THREE ONE FOUR FIVE SIX SEVEN EIGHT NINE TEN ELEVEN TWELVE O'CLOCK 您的任务是编写一个工作时钟。且仅当与打印当前时间相关时,单词才会亮起。否则,它们会熄灭。单词通过打印而被“点亮”,并且被替换为单词长度的多个空格而被“点亮”。 示例:如果当前时间是17:23,则打印的文字必须完全是以下内容: IT IS TWENTY FIVE MINUTES PAST FIVE 规则 打印的时间为12h,但没有AM / PM。 四舍五入仅以分钟为单位(秒完全无关)。舍入到最接近的5的倍数。因此,例如,即使17:52:38实际上最接近17:55,但是由于秒数无关紧要,因此17:52实际上被舍入为17:50,并且打印的文本是“六到十分钟”(具有相关的间距)。因此,如果XX为5的倍数,XX则将从HH:(XX-2):00到HH:(XX + 2):59使用。MINUTES如果或在分钟部分点亮(在“ TO”或“ PAST”之前)FIVE,则必须出现该单词。TENTWENTY 所有不相关的单词都将替换为所需的任意空格,以将文本保留在上方模板中的位置。尾随空格可能会被修剪。必须保留与将文本保持在预期位置相关的空间。 尾随线也可能被修剪。仍需要出现相关的空行。例: IT IS TEN MINUTES PAST …
59 code-golf  string  date 

30
让我们做一些“ deciph4r4ng”
在这个挑战中,您的任务是解密字符串。幸运的是,该算法非常简单:从左向右读取,遇到的每个数字N(0至9)必须替换为字符N + 1个位置。 例 输入字符串"Prog2am0in6"将通过以下方式解码: 因此,预期输出为"Programming"。 澄清和规则 输入字符串将仅包含32-126范围内的ASCII字符。您可以假设它永远不会为空。 原始解密的字符串保证不包含任何数字。 字符一旦被解码,就可以由随后的数字引用。例如,"alp2c1"应解码为"alpaca"。 引用永远不会环绕字符串:只能引用以前的字符。 您可以编写完整的程序或函数,以打印或输出结果。 这是代码高尔夫,所以最短的答案以字节为单位。 禁止出现标准漏洞。 测试用例 Input : abcd Output: abcd Input : a000 Output: aaaa Input : ban111 Output: banana Input : Hel0o W2r5d! Output: Hello World! Input : this 222a19e52 Output: this is a test Input : golfin5 3s24o0d4f3r3y3u …

16
反串化字符串
常规字符串如下所示: Hello,IAmAStringSnake! 一条蛇形蛇看起来像这样: Hel l rin o,IAmASt g S !ekan 你的任务 字符串蛇是危险的,因此您必须编写一个将字符串蛇作为输入并将其作为常规字符串输出的程序。 技术指标 输入可以是多行字符串或字符串数​​组。 输入的每一行将填充空格以形成一个矩形网格。 蛇中的角色只能连接到它们上方,下方,左侧或右侧的相邻角色(就像在“蛇”游戏中一样)。他们不能对角线。 蛇角色永远不会与蛇的另一部分相邻,而仅与相连的角色相邻。 字符串的第一个字符是距输入网格左上角的曼哈顿距离最短的结束字符(即,蛇直接从结束字符移动到左上角所需的最小移动量角)。两端永远不会有相同的距离。 该字符串可以包含代码点33和126之间(包括端点)的任何ASCII字符(没有空格或换行符)。 字符串长度在2到100个字符之间。 以字节为单位的最短代码获胜。 测试用例 (输入网格,后跟输出字符串) Hel l rin o,IAmASt g S !ekan Hello,IAmAStringSnake! ---------- Python Python ---------- P ngPu Code r i z d G o m z n o gram lesA …

30
反转标准输入并放置在标准输出上
要求: 在stdin上进行输入,包括无限制长度的新行/回车符(仅受系统内存限制;也就是说,程序中没有固有的限制。) 在stdout上输出与输入相反的值。 例: 输入: Quick brown fox He jumped over the lazy dog 输出: god yzal eht revo depmuj eH xof nworb kciuQ 最短的胜利。 排行榜: var QUESTION_ID=242,OVERRIDE_USER=61563;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var …
58 code-golf  string 

11
新网站设计!
除非您有修改站点设计的用户脚本(即使这样做),否则您应该已经注意到我们拥有站点设计! (现在是十一月) 因此,为了庆祝这一点,让我们制作一个追溯应用此设计的程序(当然,这过于简化了!)! 因此,最重要的更改是: 我们现在的新名称是Code Golf和Coding挑战赛 我们的网站不再是默认的蓝色,而是深绿色 因此,给定一个字符串,请更改: PPCG 至 CGCC Programming Puzzles {non-whitespace} Code Golf到Code Golf {same-thing} Coding Challenges(例如,Programming Puzzles + Code Golf,and Code Golf,和& Code Golf将所有被改变为Code Golf + Coding Challenges,and Coding Challenges,和& Coding Challenges。 #abc到#acb(交换蓝色到绿色,反之亦然-只是忽视的事实是绿色的应该不是逻辑变成蓝色,但我不想色移复杂) #abcdef到#abefcd(与上面相同) 请注意,对于颜色交换,您应该接受从0-9到的任何十六进制数字a-f。您可以选择所需的十六进制数字大小写,但输入与输出之间必须保持一致且相同。 您的替换内容区分大小写,如果不区分大小写,请指定输出的工作方式。 仅当字符串被单词边界包围时(包括的开始),才应进行替换#。换句话说,只有当匹配项位于字符串的边缘或以非字母数字字符为边界(在两侧)时,才应进行每个指定的替换。 有标准漏洞。这是一个代码挑战,所以最短的代码胜出! 例子 PPCG -> CGCC Programming Puzzles or Code …
57 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.