Questions tagged «string»

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

21
培根节快乐!
今天是培根日,这可能就是为什么今天参加比赛的帽子的名称是“ Mmmm Bacon”。还有什么更好的方式来庆祝用培根制成的充满乐趣的二维矩阵来庆祝培根的一天!一条1根培根条表示如下: ----- )===) (===( )===) ----- 您的目标是在元组(x,y)中获得两个坐标,其中x和y是非零正整数,您将创建培根并以某种格式(列表,数组,字符串)返回。 输入和输出: Input: (2, 1) Output: ---------- )===))===) (===((===( )===))===) ---------- Input: (1, 2) Output: ----- )===) (===( )===) ----- )===) (===( )===) ----- Input: (2, 2) ---------- )===))===) (===((===( )===))===) ---------- )===))===) (===((===( )===))===) ---------- 规则: 从第二个测试用例中可以看到,如果将多个培根堆叠在一起,则-----每根培根上方和/或下方只有一个分开。这意味着像这样堆叠培根是无效的: ----- )===) (===( )===) …

17
猫咪喵喵叫,牛咪咕叫
人人都知道猫咪会喵喵叫,但许多人没有意识到的是猫咪会喵喵叫。实际上,猫发出的元音声音的长度取决于您用来寻址的元音的长度。 以同样的方式,母牛变得go咕,但是母牛却咕mo咕o 挑战 您将编写一个程序,该程序将一个单词(表示猫)和一个单词(表示牛)作为输入,确定主元音的数量,并根据需要打印以下字符串之一: C[]ts go M[]w C[]ws go M[] []元音在哪里代表,请遵循以下规则: “喵”中的e和o的数量必须都与输入单词中找到的元音的数量相同。 “ Moo”中o的数量必须是输入单词中元音数量的两倍。 程序必须识别输入的单词cat和cow。输入可以使用最方便的任何大写形式,但是输出必须完全如上所示大写。
40 code-golf  string 

21
Levenshtein距离
尽管有很多编辑距离问题,例如这一问题,但编写一个计算Levenshtein距离的程序并不是一个简单的问题。 一些博览会 两个字符串之间的Levenshtein编辑距离是将一个单词转换为另一个单词的最小可能插入,删除或替换次数。在这种情况下,每次插入,删除和替换的成本均为1。 例如,之间的距离roll,并rolling为3,因为缺失花费1,我们需要删除3个characterrs。toll和之间的距离tall为1,因为替换成本为1。 规则 输入将是两个字符串。您可以假设字符串是小写字母,仅包含字母,非空并且最大长度为100个字符。 如上定义,输出将是两个字符串的最小Levenshtein编辑距离。 您的代码必须是程序或函数。它不必是命名函数,但不能是直接计算Levenshtein距离的内置函数。允许使用其他内置插件。 这是代码高尔夫,所以最短的答案会获胜。 一些例子 >>> lev("atoll", "bowl") 3 >>> lev("tar", "tarp") 1 >>> lev("turing", "tarpit") 4 >>> lev("antidisestablishmentarianism", "bulb") 27 与往常一样,如果问题仍然不清楚,请告诉我。祝你好运,打高尔夫球! 目录 var QUESTION_ID=67474;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var …
40 code-golf  string 

24
将文本居中!
将文本居中! 在此挑战中,您将以各种线条为中心。 例子 Foo barbaz Foo barbaz Hello World Hello World Programming Puzzles & Code Golf Programming Puzzles & Code Golf 技术指标 每个输入行将始终至少包含一个非空白字符,您可以假设唯一的空白字符是空格()和换行符。每个输入行都没有尾随和/或前导空格(换行符除外)。尾随在输出空白是不是允许。 您应该在输入中最长的线中间居中。如果该行的长度相等,则您的程序/功能应偏向左侧居中。最大行长是您的语言可以处理的,但您的程序应在至少500条长度的行上运行。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 bytes …

30
提前祝您2016年新年快乐!
您的输入将是1970年至2090年(含)之间的整数,代表一年。您的程序应输出与输入年份相同的第二天,即下一年的“元旦”。 测试用例: 以下是示例输入和输出 2001 => 2007 2047 => 2058 2014 => 2020 1970 => 1976 1971 => 1982 1977 => 1983 2006 => 2012 20%红利:输出元旦星期几 2001 => 2007 (Mon) 2047 => 2058 (Tue) 2014 => 2020 (Wed) 1970 => 1976 (Thu) 1971 => 1982 (Fri) 1977 => 1983 (Sat) 2006 …

18
鸭,鸭,走了!
这是(非常可怕的)五只小鸭子的歌(不长): Five little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only four little ducks came back. Four little ducks went out one day, over the hills and up away. Mother Duck said, "Quack Quack Quack Quack", but only …
40 code-golf  string 

27
差异不应该有差异
您的公司最近雇用了一大批非常敬业的系统管理员。他们认为仅观看计算机屏幕是非常有限的(我的意思是60Hz的刷新率还不够),因此他们将CPU数据总线连接到DAC,并通过服务器机房在扬声器上播放,以便可以听到至20kHz。一个问题:他们是系统管理员,而不是电气工程师,而且他们的扬声器设置不断出现故障。他们认为,这是由于软件工程师在大型机上编译的代码中字节值的突然变化引起的。系统管理员现在正在举办一个小竞赛,以了解谁可以编写最适合其扬声器设置的代码。 挑战 您的任务是创建一种所选语言的程序或函数,该程序或函数的连续字节之间的差异应尽可能小(请参见“计算”部分)。该程序将负责计算自己的分数。 输入值 ASCII字符串stdin或与您的语言最接近的等效字符串,或者在创建函数时作为函数输入。由于您的程序必须以自身为输入来计算分数,因此,如果程序包含任何Unicode,则它应支持Unicode。否则,ASCII就足够了。可以假定输入的长度至少为2个字节。 计算方式 字符串的每个字符都将使用ASCII标准转换为等效的数字。然后,所有字符之间的差异将首先平方,然后求和。例如,该字符串abd的得分为1²+2²=5。 输出量 输出将是您输入的标题。这意味着它应该以a开头#或以换行符和-(破折号)开头。然后,它应该输出您的编程语言的名称,后跟一个逗号,一个空格,然后是代表计算结果的整数。例如 #C++, 98 将是有效的输出。应该给出输出,stdout或者给出与您的语言最接近的等效输出,或者作为函数的返回值。 计分 您的分数将是程序的计算值,并以程序本身作为输入。 编辑:现在应该处理换行符,对不起,以前的人们 这是一个Pyth脚本,用于验证分数计算。

30
我确实做了一个飞船的花胶!
介绍: 受到@MagicOctopusUrn在@Emigna的05AB1E答案中对我的“ 这仅仅是一个错误 ”挑战的评论的启发: 8F9ÝÀNð×ý}».∊我确实做了一个飞船的花胶!我对建议进行12字节的编辑感到非常兴奋。– 魔术章鱼缸 17年7月17日在20:10 这是一个05AB1E(旧版)程序,导致以下结果: 1234567890 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 …

30
标记我的邮件!-ASCII条形码
4状态条形码 许多邮政服务(英国皇家邮政,加拿大邮政,美国邮政等)都使用4状态条形码对有关其邮件的信息进行编码。以ASCII呈现,可能看起来像这样: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4状态条形码是一行条。每个杆都可以向上,向下或两者同时延伸,从而有4种可能性。这意味着每个条形图基本上代表一个以4为底的数字: | | 酒吧:| | | | | 位数:0 1 2 3 该符号体系的问题在于,每个条形码都是有效的,上下颠倒的不同条形码:如果方向不正确,则会大大改变含义。因此,通常会执行开始和停止序列,以便扫描仪可以计算应该以哪种方式读取它。 …

13
579085261是CRAZY,725582是GOLF,10757494是…?
您的任务是使用以下描述的方法将103平滑数字转换成英文单词。 怎么样? 生成输入数字的主要因子列表(重复)。 排序列表: 如果2不是主要因素之一,请按升序对列表进行排序。 如果2是主要因素之一,请从列表中将其删除,然后按降序对其余因素进行排序。 使用下表将每个因子转换为字母: 3 = S 13 = L 29 = X 43 = O 61 = Z 79 = H 101 = K 5 = P 17 = Q 31 = N 47 = R 67 = T 83 = V 103 = Y 7 …

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

29
乘坐Reading,如果您通过Go,则可获得$ 200
垄断委员会 对于此代码高尔夫球挑战,我们将构建棋盘游戏Monopoly。 规则: 不输入任何内容。 输出一个11x11电路板,其中构成该电路板的每个ASCII字符是美国版Monopoly电路板每个空格的第一个字母。 字符必须用空格分隔。 Go 应该从右下角开始。 产生的确切字符串是 F K C I I B A V W M G N P T N C C S P P S V C S P E L S B J C V C O R I B C M G 请注意,从右下到左下的正方形如下: …

30
字符串的分解图
您是否不喜欢将机器或物体分解成最小零件的那些分解图? 让我们来做一个字符串! 挑战 编写一个程序或函数 输入仅包含可打印ASCII字符的字符串; 将字符串分解为非空格等号字符组(字符串的“段”); 以任何方便的格式输出这些组,并在组之间使用一些分隔符。 例如,给定字符串 Ah, abracadabra! 输出将是以下几组: ! , 一种 aa bb C d H rr 输出中的每个组均包含相等的字符,并删除了空格。换行符已用作组之间的分隔符。以下是有关允许格式的更多信息。 规则 该输入应该是一个字符串或字符数组。它仅包含可打印的ASCII字符(包括从空格到波浪号的范围)。如果您的语言不支持,则可以采用代表ASCII码的数字形式的输入。 您可以假定输入至少包含一个非空格字符。 的输出应包括字符(即使输入是由ASCII码装置)。组之间必须有明确的分隔符,与输入中可能出现的任何非空格字符不同。 如果输出是通过函数返回,则它也可以是一个数组或字符串,或一个字符数组的数组,或类似的结构。在这种情况下,结构可提供必要的分隔。 每组字符之间的分隔符是可选的。如果有一个,则应用相同的规则:输入中不能出现非空格字符。此外,它不能与组之间使用的分隔符相同。 除此之外,格式是灵活的。这里有些例子: 组可能是用换行符分隔的字符串,如上所示。 这些组可以用任何非ASCII字符分隔,例如 ¬。上述输入的输出将是字符串: !¬,¬A¬aaaaa¬bb¬c¬d¬h¬rr 这些组可以用n > 1个空格分隔(即使n是可变的),每个组之间的字符也用一个空格分隔: ! , A a a a a a b b c d h r r …
39 code-golf  string 

30
删除字符串
许多语言都有内置的方法来消除重复项,或者“去重复”或“唯一化”列表或字符串。不太常见的任务是“删除”字符串。也就是说,对于每个出现的字符,都会保留前两次出现。 这是一个示例,其中应删除的字符用标记^: aaabcbccdbabdcd ^ ^ ^^^ ^^ aabcbcdd 您的任务是完全实现此操作。 规则 输入是单个(可能为空)字符串。您可以假定它仅包含ASCII范围内的小写字母。 输出应为一个字符串,其中已删除的所有字符至少已在字符串中出现两次(因此,保留了最左边的两个匹配项)。 您可以使用字符列表(或单例字符串)来代替字符串,但是输入和输出之间的格式必须一致。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 每对线都是一个测试用例,输入然后是输出。 xxxxx xx abcabc abcabc abcdabcaba abcdabc abacbadcba abacbdc aaabcbccdbabdcd aabcbcdd 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成排行榜,a)是每种语言的最短解决方案列表,b)则是整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + 3 …

24
带点和逗号时间标记的ASCII时钟
介绍 想象一下,字符行实际上是两行。上排小圆点-表示小时(24小时制),而下排逗号-表示分钟。只要有可能,一个字符就可以表示小时,分钟或同时表示两者。 起初,您可能必须将午夜以来的分钟数转换为小时数和分钟数。 结果是以“点格式”显示当前时间的字符串。点数(此处的单引号记为点,将称为so!)是自午夜以来的小时数,而逗号数是分钟数。我将展示一些示例以使其清楚。 (备注)hh:mm- result (仅营业时间)05:00- ''''' (仅分钟)00:08- ,,,,,,,, (小时<分钟)03:07- ;;;,,,, (小时>分钟)08:02- ;;'''''' (小时=分钟)07:07- ;;;;;;; (一天的开始)00:00- (空结果) 请注意,“两个”字符最多可使用23次-对于23:xx,其中xx为23或更大。 符号 如果必须用您的语言对字符进行转义(请参阅规则5),则可以将其更改为替代方法之一。如果上述替代方法还不够,则可以使用其他符号-但要使其合理。我只是不想逃避成为一个障碍。 ;(分号) -标记两个小时和分钟(ALT: :) '(撇号) -标记为小时(ALT: '``°) ,(逗号) -标记为分钟(ALT: .) 附加规则 字节数最少的代码胜出! 您必须尽可能使用两个符号。对于02:04的结果不能为'',,,,,也不能为;',,,。必须是;;,, 输入-可以是脚本/应用参数,用户输入(如readline)或代码 3.1中的变量。如果使用内部代码变量,则其长度必须尽可能长。这是1439(23:59),所以它看起来像t=1439 由“两个”字符表示的公共部分(12:05中的12,03:10中的3)必须放在字符串的开头 仅当必须在代码中将符号转义时,才能将符号替换为替代符号。 在00:00之后的分钟内输入。您可以假定这是一个非负整数。 测试用例 Input: 300 Output: ''''' Input: 8 Output: ,,,,,,,, Input: 187 Output: …
39 code-golf  string  clock  time 

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.