Questions tagged «string»

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

22
引爆一根弦
给定任何字符串,以三角形的形式打印它,其中文本沿每个对角线上下移动。例如,输入的"Hello World"应输出: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

30
将字符串乘以数字!
前一阵子关于将字符串相乘存在一个挑战。它向我们展示了如何不仅可以将数字相乘,而且还可以将字符串相乘。但是,我们仍然无法正确地将数字乘以字符串。已经尝试过这样做,但这显然是错误的。我们需要解决这个问题! 你的任务: 编写一个将两个输入(一个字符串和一个整数)相乘的函数或程序。要将字符串乘以整数(适当),请将字符串拆分为字符,将每个字符重复等于整数的次数,然后将字符重新粘在一起。如果整数为负数,则在第一步中使用其绝对值,然后反转字符串。如果输入为0,则不输出任何东西(乘以0等于零)。 输入: 一个仅由可打印的ASCII字符和换行符以及一个整数(可能为负数)组成的字符串。 输出: 字符串乘以整数。 例子: Hello World!, 3 --> HHHeeellllllooo WWWooorrrlllddd!!! foo, 12 --> ffffffffffffoooooooooooooooooooooooo String, -3 --> gggnnniiirrrtttSSS This is a fun challenge, 0 --> Hello World!, 2 --> HHeelllloo WWoorrlldd!! 得分: 这是代码高尔夫球,最低字节数获胜!

22
建立我的城市
编码人员一直在尝试将数组平整为无聊的一维实体,这让我很难过。 您的任务是展开任意字符串,输出漂亮的城市天空景观。 考虑以下字符串: aaabbbbbccqrrssstttttttPPw 这样看起来更好: tt tt bb tt bb tt aabb sstt aabbcc rrssttPP aabbccqqrrssttPPww (好的,是的,重复的字母使它们看起来更像城市天际线)。 输入一个字符串,复制匹配字符(不一定是字母)的每个小节,然后为我建一座城市! 最短的代码字节获胜。 我实际上以为自己已满足要求,但要回答一些问题: 它必须在地面上 如果需要,您可以有更多的天空(空白行,周围空白处)-但建筑物之间不可以 字母可以在字符串内重复使用(相同的体系结构,不同的位置) 这些字母被假定为ASCII,但是那些支持其他编码(UTF8等)的字母将具有更多特色

30
撤消数字范围
给定一个数字n,创建从0到的范围非常简单n-1。实际上,许多语言都以内置方式提供此操作。 以下CJam程序读取一个整数,然后打印出这样的范围(请在线尝试!): ri, 请注意,它打印出没有分隔符的数字。 挑战 您的任务是逆转此过程。您应该编写一个程序,给定一个代表范围的字符串,该程序返回用于产生该范围的数字。 技术指标 给出的数字没有任何分隔符。 您可以假定该字符串形成有效范围。 您可以为范围使用基于0或1的索引。 您可以假设正确的输出将永远不会超过32,767(因此有效输入的长度永远不会超过152,725)。 您可以假设正确的输出将始终为正(因此您不必处理0或负)。 这是代码高尔夫球,因此最短的竞争性答案(以字节为单位)获胜。 测试用例 0索引: 0123 -> 4 0 -> 1 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101 1索引: 1234 -> 4 1 -> 1 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 100

8
读取ASCII文字
受Golf启发,我使用了ASCII字母,对此挑战(几乎)是直接逆运算。 任务: 取一串ASCII文字文本,然后将文本内容输出为常规ASCII文本。 输入: ASCII艺术字的字符串。 输入将仅包含ASCII字符#,空格和4或5个换行符的实例(结尾的换行符是可选的)。所有行的长度相同。(也就是说,最后一个ASCII字母后缀空格。)如果需要,可以使用其他一些可打印的ASCII字符代替#输入。 输入将包含ASCII字母A-Z和ASCII空格(5x5的空白块)。没有标点符号。只有一行ASCII美术文字(实际5行)。将没有尾随或前导的ASCII艺术空间,也没有相邻的ASCII艺术空间。 字母大小为5x5个字符。每个字母之间有1x5的间隔。单词之间的间隔是5x5的空白块(每边+ 1x5的间隔,因为它只是另一个字母)。在结尾或开头将没有1x5空格,只有在ASCII字母之间。 输出: 包含文本的字符串,为ASCII字符A-Z+空格。如果您的解决方案更容易些,则输出也可以小写。混合大小写也是允许的。 ASCII字母: ### #### ### #### ##### ##### ### # # ##### ##### # # # # # # # # # # # # # # # # # # # # # # # ## ## ##### #### …

30
从1到n的数字交织,相同的数字反转
一个简单的: 取小于1000 的正整数n,并输出从1到n的整数与从n到1的整数交织在一起。您必须连接数字,以便它们之间没有任何定界符出现。 测试用例: n = 1 11 n = 4 14233241 n = 26 12622532442352262172081991810171116121513141413151216111710189198207216225234243252261 n = 100 110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001 这是代码高尔夫球,因此每种语言中以字节为单位的最短提交胜出。鼓励解释。

30
逐个颠倒字符串
您的任务是编写一个程序,给定一个数字和一个字符串,该程序将字符串拆分为该大小的块并将其反转。 规则 您的程序将收到一个正整数n,以及一个s长度至少为一个仅由可打印ASCII组成的字符串(不包括空格)。然后n,如果该字符串的长度不能被n末尾的剩余部分整除,则应将其拆分为一定长度的块,应将其视为自己的块。然后,颠倒这些块的顺序,然后再次将它们放在一起。 测试用例 n s Output 2 abcdefgh ghefcdab 3 foobarbaz bazbarfoo 3 abcdefgh ghdefabc 2 a a 1 abcdefgh hgfedcba 2 aaaaaa aaaaaa 2 baaaab abaaba 50 abcdefgh abcdefgh 6 abcdefghi ghiabcdef 这是code-golf,因此您应该针对尽可能少的字节。
34 code-golf  string 


12
柠檬串
编写一个包含非空单行字符串的程序或函数。您可能会认为它仅包含可打印的ASCII(不包括空格)。 打印或返回类似于由字符串前缀制成的柠檬或酸橙的ASCII艺术菱形形状。 假设输入字符串的长度为n个字母。然后,这样的形状由2n-1列的ASCII艺术拼凑而成,每列由2n-1行组成。从1开始,第k列的宽度为f(k)= min(k,2n-k)个字符,并包含输入的前f(k)个字符的f(k)个副本,垂直居中,单个空格分隔副本的行。 例如,如果输入为Lemon,则输出应为: Lemon Lemo Lemo Lem Lemon Lem Le Lemo Lemo Le L Lem Lemon Lem L Le Lemo Lemo Le Lem Lemon Lem Lemo Lemo Lemon 如果输入是lime输出,则应为: lime lim lim li lime li l lim lim l li lime li lim lim lime 对于其他输入,遵循相同的模式: a a …

29
疯狂的8s码高尔夫
创建一个程序,该程序打印一个间隔内的所有整数(包括两端)(a, b),并用随机(均匀分布,独立于其他字符),非数字,非空格,可打印的ASCII字符替换序列中8的倍数。 假设在所有情况下0 <a <b。 如果数字超过1位,请确保替换字符数匹配! 例子: (1, 16) -> 1 2 3 4 5 6 7 $ 9 10 11 12 13 14 15 n@ (115, 123) -> 115, 116, 117, 118, 119, :F<, 121, 122, 123 (1, 3) -> 1 2 3 非示例: (1, 16) -> 1 2 …

28
请放开我!
作为代码高尔夫球手,我们不习惯发布(当然是)。我们将需要一些工具来帮助我们做到这一点。 当然,为了帮助营销一个新版本,我们需要一个漂亮而闪亮的发行版本。谁对3.0.0版感到兴奋? 任务 您的任务是编写一个程序/例程/ ...以增加版本号。 您需要增加版本号并重置“不太重要”的版本(即补丁程序版本)。 您将获得两个参数:当前版本(例如“ 1.0.3”)作为字符串,以及一个索引以了解要更新的版本(0或1索引)。 例如,0索引: next-version("1.0.3", 0) # 2.0.0 next-version("1.2.3.4.5", 2) # 1.2.4.0.0 next-version("10.0", 0) # 11.0 next-version("3", 0) # 4 next-version("1", 7) # ERROR next-version("01", 0) # ERROR 版本是一个字符串,每个部分是一个数字,用点分隔。不能有前导,尾随或连续的点(数字/点之外的任何东西)。版本字符串的大小没有限制。 ^[1-9]\d*(\.[1-9]\d*)*$ 错误情况(最后两个示例)是未定义的行为。在输入错误的情况下发生的情况与此挑战无关。 像往常一样,禁止出现标准漏洞。您可以打印或返回字符串。

30
复制和开关盒
目标是,以字符串作为输入,复制每个拉丁字母并“切换”其大小写(即大写变为小写,反之亦然)。 输入和输出示例: Input Output bad bBaAdD Nice NniIcCeE T e S t Tt eE Ss tT s E t sS Ee tT 1!1!1st! 1!1!1sStT! n00b nN00bB (e.g.) (eE.gG.) H3l|@! Hh3lL|@! 输入由可打印的ASCII符号组成。 您不应该重复非拉丁字母,数字,特殊字符。
34 code-golf  string 

14
转换为camelCase
挑战 前几天,我在阅读Google的Java样式指南,偶然发现了他们的算法,可以将任意字符串转换为camelCase表示法。在此挑战中,您必须实现此算法,因为当您将超级竞争的Java提交编写为代码高尔夫球挑战时,您不想在头脑中做所有这些事情。 注意:我对算法做了一些小的调整。您需要使用以下指定的一种。 算法 您从任意输入字符串开始,并对它应用以下操作: 删除所有撇号 `' 通过在处拆分将结果拆分为单词 不是字母数字和数字的字符 [^a-zA-Z0-9] 大写字母,两侧均用小写字母包围。abcDefGhI jk例如产量abc Def Ghi jk 每个单词都小写。 除第一个单词外,每个单词的第一个字符均大写。 将所有单词重新组合在一起。 附加条款 输入将仅包含可打印的ASCII。 如果数字是单词中的第一个字母,请保持原样,并且不要使该单词中的其他内容成大写字母。 输入将始终至少包含一个字符。 规则 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 “编程难题和代码高尔夫”->“ programmingPuzzlesCodeGolf” “ XML HTTP请求”->“ xmlHttpRequest” “在iOS上支持IPv6吗?” ->“ supportsIpv6OnIos” “某物,载脂蛋白的残基和标点符号”->“ somethingW1thApostrophesAndPuncTuation” “没什么特别的”->“没什么特别的” “ 5pecial ca5e”->“ 5pecialCa5e” “ 1337”->“ 1337” “ 1337-spEAk”->“ 1337Speak” …
34 code-golf  string 

21
输出所有字符串
给定一组字母,输出由这些字母组成的所有字符串。(这是该集合的Kleene星。)例如,对于{'a','b'},字符串为: '', 'a', 'b', 'aa', 'ab', 'ba', 'bb', 'aaa', 'aab', ... 输入:包含不同字母的非空集合a..z。这些可以是字符或单字符字符串。 输出:这些字母中的所有字符串,以任何顺序排列,没有重复。您可以将字符列表用作字符串。 这是一个无限列表,因此您可以通过以下方式将其输出: 永远运行越来越多的字符串。这些字符串可以用任何用平面分隔的格式编写,这意味着它们可以告诉每个字符串在何处结束,但是这些字符串不会细分为多个组。 以数字n作为输入并n以任何单位分隔格式输出第一个字符串 从生成器对象依次产生每个字符串 产生无限物体 确保您的方法最终生成输出中的每个字符串,因为有可能从集合中生成无限多个字符串,而从不获取某些字符串。 您可能不会通过 产生n给定的th字符串n 提供一个成员资格oracle,该oracle决定给定字符串是否属于集合 允许使用内置函数,但是我要求选民注意那些比大多数依赖内置函数本身更能实现操作的答案。 显示代码段 var QUESTION_ID=74273,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/74273/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 i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var …
34 code-golf  string 

13
过去的素恋
考虑一个素数p,写在底座10上的存储器的p被定义为不同的素数的比严格小于的数量p是包含在的子串p。 挑战 给定一个非负整数n作为输入,请找到最小的素数p,以使p具有内存n。也就是说,找到具有恰好n个不同的严格较小质数作为子串的最小质数。 输入项 输入可以通过任何标准格式进行。您必须支持最大为n的输入,以使输出不会溢出。供参考,4294967291是32位中最大的素数。 输出量 输出可以写入STDOUT或从函数返回。 例子 数字2的内存为0,因为它不包含作为子字符串的严格较小的质数。 数字113是具有内存3的最小素数。数字3、13和11是唯一的素数子串,且小于113的素数中没有正好包含3个素数作为子串。 从n = 0 开始的序列的前10个项是 2, 13, 23, 113, 137, 1237, 1733, 1373, 12373, 11317 注意 这是OEIS中的A079397。 排行榜 var QUESTION_ID=55406,OVERRIDE_USER=20469;function answersUrl(e){return"http://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"http://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 …

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.