Questions tagged «string»

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

30
“你好,世界!”
所以...嗯...有点尴尬。但是我们并没有一个简单的“世界,你好!” 挑战(尽管有35个标记为hello-world的变体,并且还在计数)。尽管这不是通用语言中最有趣的代码,但是在某些esolang中找到最短的解决方案可能是一个严峻的挑战。例如,据我所知,还不知道是否找到了最短的Brainfuck解决方案。 此外,虽然所有Wikipedia(Wikipedia条目已被删除,但在archive.org上都有一个副本 ),但esolangs和Rosetta Code的列表为“ Hello,World!”。程序,这些都没有兴趣让每种语言都有最短的语言(还有GitHub存储库)。如果我们想成为代码高尔夫社区中的重要站点,我认为我们应该尝试创建最短的“ Hello,World!”最终目录。程序(类似于我们的基本quine挑战如何包含各种语言中最短的已知quines)。所以,让我们做吧! 规则 每个提交都必须是完整程序。 该程序必须不输入任何内容,并打印Hello, World!到STDOUT(此确切的字节流,包括大写和标点符号)加上可选的尾随换行符,并且不能输出其他任何内容。 该程序不得向STDERR写入任何内容。 如果有人想通过创建一种在空程序打印时使用的语言来滥用它Hello, World!,那么恭喜,他们只是为一个非常无聊的答案铺平了道路。 请注意,必须有一个解释器,以便可以测试提交。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。 提交的得分上字节,在合适的(预先存在的)编码,通常(但不一定)UTF-8。某些语言(例如Folders)在评分上有些棘手-如果有疑问,请在Meta上提问。 这是不是发现了用最短的语言“你好,世界!” 程序。这是关于查找最短的“ Hello,World!”。用每种语言编程。因此,我不会将任何答案标记为“已接受”。 如果您选择的语言是已经有答案的另一种(可能更受欢迎的)语言的琐碎变体(请考虑使用BASIC或SQL方言,Unix shell或琐碎的Brainfuck派生词(例如Alphuck)),请考虑在现有答案中添加注释在其他语言中,相同或非常相似的解决方案也是最短的。 附带说明一下,请不要在没有太多兴趣的语言中用枯燥(但有效)的答案打分-这些问题对于此问题会尽可能地完善目录,因此仍然有用。然而,这样做在那里的作者确实不得不把精力投入到高尔夫球的代码语言主要是给予好评的答案。 要获取灵感,请查看Hello World Collection。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + 2 (-p flag) = ...

30
Covfefify一个字符串
在此挑战中,您必须采用与正则表达式匹配的字符串^[a-zA-Z]+$或任何合理的字符串(如果需要,您不必考虑大写或小写字母)(您可以假设字符串足够长,并且对于所有字符串都具有正确的结构操作),并输出另一个字符串,该字符串与POTUS("Despite the constant negative press covfefe")在最近的dadaist推文末尾产生的单词类似。 如何对字符串进行coffefify: 首先,获得第一个声音组(组成的术语)。 你怎么做到这一点?好: 查找第一个元音(y也是元音) v creation 在那之后找到第一个辅音 v creation 删除其余的字符串 creat 那是您的第一个声音组。 下一步: 获取声音组的最后一个辅音 t 并将其替换为有声或无声版本。为此,请在此表中找到字母。用给定的字母替换(可能是相同的字母) b: p c: g d: t f: v g: k h: h j: j k: g l: l m: m n: n p: b q: q r: r ...
371 code-golf  string 

1
只匹配自己的正则表达式
正则表达式(自匹配正则表达式,正则表达式验证正则表达式)面临一些非常酷的挑战 这可能是不可能的,但是是否存在只能匹配自身的正则表达式? 注意,必须包括定界符: 例如/thing/必须匹配/thing/而不是thing。表达式唯一可能的匹配必须是表达式本身。许多语言允许使用字符串代替正则表达式。例如在Go中 package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } 但是为了挑战,如果您想将引号作为分隔符,则让表达式被定界(开始符号,表达式,结束符号ex:/fancypantpattern/或@[^2048]@)。我认为,鉴于此问题的明显困难,它不会带来太大变化。 为了帮助您: 我为rubular.com(用于ruby regex编辑的网页)放在一起的快速技巧: var test = document.getElementById("test") ,regex = document.getElementById("regex") ,delimiter="/" ,options = document.getElementById("options") ,delay = function(){test.value = delimiter + regex.value + delimiter + options.value} ,update = function(e){ // without ...

8
上升还是下降?
给定山羊的图像,您的程序应该最好尝试识别山羊是否倒置。 例子 这些是输入可能是什么的示例。不是实际的投入 输入: 输出: Downgoat 规格 您的程序最多应为30,000个字节 输入将包含完整的山羊 图片将始终包含山羊 如果山羊倒立,输出Downgoat,否则Upgoat 输入将是您可以将图像作为输入(文件名,图像的base64等)。 要点文件名仅供参考,不要依赖于包含“ Upgoat”或“ Downgoat”的图像名称或其他元数据。 请不要硬编码。这很无聊,我无法完全执行它,但是我可以很好地询问。 测试用例 要点与图像。开头的图像downgoat具有Downgoat输出和图像开始与upgoat有Upgoat输出。 第二批测试用例 确保在所有测试用例上测试图像。这些图像是jpgs。图像大小确实有所不同,但没有说太多。 注意:在接受答案之前,可以添加一些测试用例,以避免使用硬编码的答案并检查程序的总体性能。 正确获得我的头像的奖励积分:P 计分 分数是可以通过以下方式计算的百分比: (number_correct / total) * 100

30
没有A,只有大写锁定
如果CapsLock键盘上的键没有缺口,会发生什么? “这很高兴。” 该程序的目标是一致地模拟每次A按替换为时的键盘遗漏CapsLock。源中的大写字母“ A”应产生相同的效果。当CapsLock启用时,资本是相反的。 测试用例 "The quick brown fox jumps over the lazy dog." -> "The quick brown fox jumps over the lZY DOG." "Compilation finished successfully." -> "CompilTION FINISHED SUCCESSFULLY." "What happens when the CapsLock key on your keyboard doesn't have a notch in it?" -> "WhT Hppens when ...

27
您想编码一个雪人吗?
这是一个简单的ASCII艺术雪人: _===_ (.,.) ( : ) ( : ) 让他结识一些朋友。这将是我们ASCII艺术雪人的一般模式: HHHHH HHHHH X(LNR)Y X(TTT)Y (BBB) 所有雪人的前导空格和括号始终相同。不同的字母代表可以单独更改的图案部分。每个部分有四个准确的预设,可以填充哪些ASCII字符。通过为所有八个部分混合并匹配这些预设,我们可以制作各种雪人。 所有预设 (请注意,否则将在空白行上放置空格,以使截面形状始终正确。) H代表帽子 草帽 _===_ 墨西哥帽 ___ ..... 非斯 _ /_\ 俄罗斯帽子 ___ (_*_) N代表鼻子/嘴巴 正常 , 点 . 线 _ 没有 L代表左眼 点 . 大点 o 最大点 O 关闭 - R代表右眼 (与左眼相同。) X是左臂 ...

30
数学是事实。编程不是
在数学中,感叹号!通常表示阶乘,并且在论点之后出现。 在编程中,感叹号!通常表示取反,它位于参数之前。 对于这一挑战,我们仅将这些运算应用于零和一。 Factorial 0! = 1 1! = 1 Negation !0 = 1 !1 = 0 取一个零或多个字符串!,然后是0或1,然后是零个或多个字符串!(/!*[01]!*/)。 例如,输入可以是!!!0!!!!或!!!1或!0!!或0!或1。 在!的之前的0或者1是否定和!年代后的阶乘。 阶乘的优先级比否定的优先级高,因此总是优先应用阶乘。 例如,!!!0!!!!确实意味着!!!(0!!!!),或者更好!(!(!((((0!)!)!)!)))。 输出所有阶乘和否定的结果应用。输出将始终为0或1。 测试用例 0 -> 0 1 -> 1 0! -> 1 1! -> 1 !0 -> 1 !1 -> 0 !0! -> 0 !1! -> 0 0!! -> ...

30
捣蛋多语
既然万圣节快到了,我想我可能会开始一个有趣的小代码高尔夫挑战赛! 挑战非常简单。您必须编写一个输出trick或的程序treat。 “转弯?” 你可能会问。好吧,让我解释一下: 您的程序必须执行以下操作: 可以使用两种不同的语言进行编译/运行。相同语言的不同版本不计算在内。 当您使用一种语言运行该程序时,应该输出trick,而另一种语言应该输出treat。大小写无关紧要,并且允许在字符串中填充空格字符(请参见示例)。 这是代码高尔夫球,因此以字节数最少的解决方案为准。 一些解释: 有效的输出(仅针对不用于运行两种语言的代码的单词。还添加引号来表示输出的开始或结束。请勿在解决方案中包括它们!): "trick" "Treat" " TReAt" " tRICk " 无效的输出: "tri ck" "tr eat" "trck" 我很想知道您能想到什么!高尔夫快乐! 我想指出,这是我的第一个挑战,因此,如果您对此问题有任何建议,请以评论形式保留。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 ...

30
不要谷歌“谷歌”
我们都知道,如果您用谷歌搜索“ google”一词,它将破坏互联网。 您的任务是创建一个接受一个字符串并以最少的Unicode字符返回其长度的函数。 但是,如果给定的字符串为google(小写),则将导致错误。 例如,g('bing')将返回4但g('google')将导致错误。 请提供用法示例,并尽可能给出错误信息。
158 code-golf  string 

30
1,2,嘶嘶声4,4,嗡嗡声
介绍 在我们最近为标准编程练习收集最短解决方案目录的努力中,这是PPCG有史以来第一个香草FizzBu​​zz挑战。如果您希望看到其他目录方面的挑战,请访问“ Hello World!”。和“这个数字是素数吗?” 。 挑战 编写一个程序,打印从1到100(含1和100)之间的十进制数字。但是,对于三倍打印“ Fizz”而不是数字,对于五倍打印“ Buzz”。对于三和五的倍数的数字,请打印“ FizzBu​​zz”。 输出量 输出将是由换行符(\n或\r\n)分隔的数字(以及Fizzes,Buzzes和FizzBu​​zzes)列表。尾随换行符是可接受的,但前导换行符是不可接受的。除了您选择的换行符之外,输出应类似于以下内容: 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 ...


30
La La Land…别等,Moo Moo Moonlight
这项挑战是对2017年奥斯卡最佳影片奖得主La La Land Moonlight的致敬! 编写一个函数/程序,该函数/程序接受仅包含字母的字符串[A-Za-z],该字符串是日常句子.,'?和空格中常见的四个符号 ,并以La La Land的样式输出该字符串。 更具体地说,将字母带到第一个元音组,包括第一个,然后打印/输出两次,每次添加一个空格,然后打印/输出整个字符串。y是这个挑战中的元音。标点符号和大写字母应保留。 您可以假定所有字符串至少包含一个元音,并且所有字符串均以字母开头。 测试用例: Land La La Land Moonlight Moo Moo Moonlight quEueIng quEueI quEueI quEueIng This isn't a single word. Thi Thi This isn't a single word. It's fun to play golf I I It's fun to play golf Ooo Ooo Ooo ...
122 code-golf  string 

30
用您喜欢的编程语言唱生日快乐
您最喜欢的编程语言刚刚度过了生日。保持友善并唱生日快乐歌曲。 当然,您应该通过使用该语言编写程序来完成此任务。该程序不输入任何内容,并将以下文本写入标准输出或任意文件: Happy Birthday to You Happy Birthday to You Happy Birthday Dear [your favourite programming language] Happy Birthday to You 您应该替换方括号中的部分(并省略方括号)。 这是一场代码高尔夫-最短的代码胜出。 更新 我很高兴这个问题引起了极大的兴趣。让我添加一些有关得分的额外信息。如最初所述,这个问题是代码高尔夫球,因此最短的代码将获胜。优胜者将在本周末(10月19日)被选出。 但是,我也会用其他投票方式奖励其他机智的人(我也鼓励大家也这样做)。因此,尽管这是一场代码高尔夫比赛,但也欢迎不太简短的答案。 结果 祝贺Optimizer,他以42字节长的CJam 提交赢得了比赛。

30
出去投票
今天是2016年11月8日,美国大选日。 如果您是符合投票资格的美国公民,那么在回答此挑战之前如果尚未投票,请出去投票。不要讨论您投票给谁。只关系到您的投票。 如果您不是美国公民或没有投票的资格,那么在回答这一挑战之前,请告诉您知道谁是符合条件的公民(如果尚未参加投票),从而对美国有所帮助。 挑战 编写一个表明您已投票的程序,例如数字“ I Voted”标签。 它应该不输入和输出必须以合理的方式短语I Voted,其中I,o和e是红色的(#FF0000)和V,t和d是蓝色的(#0000FF)。背景必须为白色(#FFFFFF)。 例如: 这些颜色当然是美国国旗的代表(尽管不是官方颜色)。红色首先出现,仅是因为它在常见的成语“红色白色和蓝色”中首先出现。 为了有效,答案必须: 使用指定的排列中指定的颜色。 使用单个清晰的字体和字体大小。该示例使用72pt Times New Roman粗体,但是任何高于6pt的常见字体都可以。 仅在单行I Voted上将该词组正确地大写,两个词之间要有清晰的空格。它不应该看起来像。IVoted 不注明答覆者是谁投票支持总统或任何下场选举。我们不要开始任何互联网辩论。这是关于庆祝投票,而不是候选人。 显示或产生输出的任何合理方式都是有效的,例如: 将文本绘制到图像上,然后显示,保存或输出原始图像。 使用颜色格式将文本写入控制台。在这种情况下,如有必要,您可以近似使用纯红色和蓝色,并且仅将文本后面的区域设置为白色是可以的。 在WPF / Windows窗体上显示文本。 输出带有文本的HTML / RTF / PDF文件。 请发布您的输出图像。 以字节为单位的最短答案将获胜。

30
我是回文集。你是?
已经有几个先前 尝试问这个问题,但也符合本网站现代化标准。根据对Meta的讨论,我将其重新发布,以允许在我们现代规则集下进行公平竞争。 背景 甲回文是一个字符串,“读取相同的向前和向后”,即字符串的反向相同字符串本身。我们在这里不是在谈论“方便回文”,而是严格的逐字符反转。例如,()()不是回文,而是())(。 任务 编写一个程序或函数,该程序或函数将字符串S(或您所用语言的适当等价形式)作为输入,并具有一个输出Q(您选择的类型)。您可以使用任何合理的方式获取输入并提供输出。 当输入S是回文时,输出Q应该具有值A(对于任何回文S而言都是相同的)。 当输入S不是回文时,输出Q应该具有值B(对于任何非回文S而言都是相同的)。 A和B必须彼此不同。 换句话说,将所有回文映射到一个值,将所有非回文映射到另一个值。 另外,您编写的程序或函数本身必须是回文式(即其源代码必须是回文式),这成为源代码受限的挑战。 澄清说明 尽管true和false是A和B的明显选择,但是您可以对“是回文”和“不是回文”输出使用任意两个不同的值,而不必是布尔值。 我们在这里在字符级别定义字符串反转;éé不管程序是以UTF-8还是Latin-1编码,它都是回文,即使它不是UTF-8编码后的八位字节回文序列。 但是,即使您的程序包含非ASCII字符,它也只需要用于ASCII输入即可。具体来说,输入S将仅包含可打印的ASCII字符(包括空格,但不包括换行符)。除其他外,这意味着,如果将输入视为字节序列而不是字符序列,则程序仍可能符合规范(除非您语言的I / O编码很奇怪)。因此,仅在检查程序具有正确的形式时,前一项目符号中回文的定义才真正重要。 将程序隐藏在注释或字符串文字中的一半是合法的,尽管这是不合法的。您的评分是根据长度而不是创造力进行的,因此请随意使用“无聊”的方法来确保您的程序是回文。当然,由于您的评分很长,因此程序中什么都不做的部分会使您的成绩更差,因此,如果可以管理程序,则可以同时使用程序的两半。 由于胜利标准是以字节为单位的,因此您需要指定编写程序的编码,以便能够对其进行评分(尽管在许多情况下,很明显您正在使用哪种编码)。 胜利标准 即使该程序需要在字符级别上成为回文,但我们仍使用字节来查看谁获胜。具体来说,程序越短(以字节为单位)越好;这是一个代码高尔夫挑战。为了允许比较提交(尤其是使用相同语言的提交),请将程序的字节数放在提交的标头中(如果字符数与字节数不同,则加上字符数)。

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.