Questions tagged «string»

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

30
制作“收款人”程序
一旦我编写了一个JavaScript程序,它将一个字符串和一个字符作为输入,并将一个一个一个地删除除第一个字符和输入字符之外的所有字符。 例如,使用输入codegolf.stackexchange.com和e字符计算得出: codegolf.stackexchange.com cdegolf.stackexchange.com cegolf.stackexchange.com ceolf.stackexchange.com celf.stackexchange.com cef.stackexchange.com ce.stackexchange.com cestackexchange.com cetackexchange.com ceackexchange.com ceckexchange.com cekexchange.com ceexchange.com ceechange.com ceehange.com ceeange.com ceenge.com ceege.com ceee.com ceeecom ceeeom ceeem ceee 它保留第一个字符和所有es。所有其他字符将被一一删除。 您的任务是编写一个接受两个输入和输出(或返回)一个字符串的程序(或函数),以完成此操作。 技术指标 您可以假定该字符串将不包含任何换行符。 第二个输入将始终是一个字符。 如果答案是函数形式,则可以返回包含输出中每一行的字符串数组。 输出可以包含尾随换行符。 测试用例 Test Cases,s: Test Cases Tst Cases Ts Cases TsCases Tsases Tsses Tsss Make a "Ceeeeeeee" program,e: Make …
95 code-golf  string 

30
独特就是便宜
编写确定给定字符串成本的函数或程序,其中 每个字符的成本等于字符在字符串中到目前为止发生了多少次,并且 字符串的成本是其字符成本的总和。 例 对于的输入abaacab,成本计算如下: a b a a c a b 1 2 3 4 occurrence of a 1 2 occurrence of b 1 occurrence of c 1+1+2+3+1+4+2 = 14 因此,字符串的成本为abaacab14。 规则 您提交的分数是你的代码的成本如上定义,那就是你的提交上自己的源代码的运行,具有较低的分数更好。 您的提交应适用于包含可打印ASCII字符以及提交中使用的所有字符的字符串。 文字是大小写敏感的,这是a和A不同的字符。 测试用例 input -> output "abaacab" -> 14 "Programming Puzzles & Code Golf" -> 47 …

14
我是一个被动的积极进取者,想侮辱我的老板而不让他发现
辛苦了几个月的工作,我觉得我只想向老板的脸大喊大叫。但是,我不是直接面对遇到问题的人的人。我也不想丢掉工作。 所以这是一个主意:我希望能够侮辱他,而不会发现他。我意识到了一种完美的方法:我需要某种软件来编码本来是完美的消息中的侮辱。看到他是众所周知的看不见树木的森林,我想我知道如何: 写给我一个程序,该程序将一个未知长度的字符串作为输入,但不包含换行符。这将是我要发送的原始消息。 如果可能,返回格式化的字符串,以使消息“ DIE IN A GREASE FIRE”构成整个左列。在新的段落中,单词之间应留有空格。现在,由于我非常生气,每个字母都大写同样重要。 您不能以任何其他方式修改字符串,即,您不能将所有字符串都变成大写字符。 如果不能以这种方式格式化所讨论的字符串,则应返回原始字符串。从标准输入读取输入。 适用一般规则:无需HTTP请求,无需THGTTG咨询Marvin等。 输入示例: 亲爱的老板,最近怎么样?引起我注意的是,上个星期五,我为这次不幸事件受到了所有责备。不只是大多数。每一刻。我以为团队的其他成员至少应该承担部分责任,对我来说是错误的吗?毕竟,我们所有人都从一开始就参与其中。不是说我认为我应该不受责。一点也不。我要说的是:我尽力而为。我努力 我不断进步。而且我一直在承担责任。总的来说,我对自己的行为负全部责任。但是在今年春天之后,看来我得到了应得的收益。还记得Flakenhauser合同吗?一切都像人们希望的那样顺利进行。大概乍一看。直到最后一刻,一切都崩溃了。所有团队都同意,这更像是一场怪胎事故,而不是草率的计划或管理不善的资源。不过,我一个人-对此负责。即使我当时什么也没说,但当时我对责备的容忍度却严重降低了。从那时起,我觉得有必要始终加倍努力,以免受到审查。而且,我们又来了。尽管我取得了所有成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。只是为了逃避审查。而且,我们又来了。尽管有我所有的成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。只是为了逃避审查。而且,我们又来了。尽管有我所有的成就。就在这些天我们似乎总是会结束的地方。每个项目。它变得难以忍受。 输出示例: 亲爱的老板,最近怎么样? 引起我注意的是,上个星期五,我为这次不幸事件受到了所有责备。不只是大多数。 每一刻。 我以为团队的其他成员至少应该承担部分责任,对我来说是错误的吗?毕竟,我们所有人都从一开始就参与其中。 不是说我认为我应该不受责。一点也不。 我要说的是:我尽力而为。我努力 我不断进步。而且我一直在承担责任。 总的来说,我对自己的行为负全部责任。但是在今年春天之后,看来我得到了应得的收益。 记住Flakenhauser合同。 一切都像人们希望的那样顺利进行。大概乍一看。直到最后一刻,一切都崩溃了。 所有团队都同意,这更像是一场怪胎事故,而不是草率的计划或管理不善的资源。 不过,我一个人-对此负责。 即使我当时什么也没说,但我对受到指责的容忍度却严重降低了。 从那时起,我觉得有必要始终加倍努力,以免受到审查。而且,我们又来了。 尽管我取得了所有成就。 就在这些天我们似乎总是会结束的地方。 每个项目。它变得难以忍受。 这是代码高尔夫。最短的代码胜出。
93 code-golf  string 

30
该字符串可以用作字符串吗?
编写一个程序,该程序采用一个单行字符串,您可以假定该字符串仅包含字符/\_‾。(这是正斜杠和反斜杠,下划线和上划线。~由于上划线不是方便的ASCII,因此如果需要,可以使用上划线代替。) 例如,一种可能的输入是: __/‾‾\/\_/‾ 您的程序需要输出真值或假值,具体取决于字符串的左边缘是否通过字符的行“连接”到了字符串的右边缘。因此,如果字距调整少了一点,那么从左边缘到右端将一直有一条纯黑色(尽管是扭曲的)线条,就像一条不间断的弦线或麻线。 上面示例的输出为true,因为连接了边: 要明确连接: / 连接在其左下角和右上角 \ 连接在其左上方和右下方 _ 连接在其左下角和右下角 ‾(或~)连接在其左上角和右上角 也: 字符串的边缘是从顶部开始还是从底部开始都无关紧要,只需要在整个字符串的水平方向上水平连接即可。 您可以假设输入字符串为非空,当然只有一行。 以下是一些其他示例,如果已连接,则后面跟有1(真),否则则后面是0(虚假): __/‾‾\/\_/‾ 1 _ 1 \ 1 / 1 ‾ 1 ___ 1 \/ 1 /\/ 1 /\/\ 1 ‾‾‾ 1 \\ 0 ‾‾ 1 _‾ 0 ‾_ 0 \_____/ 1 \/\\/\\___ 0 \/\__/‾‾\ …

9
高尔夫降临日历
在一年中的这个时候,我们中的许多人都获得了我们的降临日历!如果您不熟悉出现日历,则这些是特殊的日历,用于在圣诞节前倒计时。以我的经验,门是随机放置的,而小时候正在锻炼明天门的位置的乐趣便是其中的一部分!如今,日历通常在每扇门后都有巧克力,但是您今年不应该购买出现日历,而应该构建ASCII日历! 任务 给定n在0- 范围内的整数()输入,将24产生一个ASCII出现日历,其中门的编号一直到n打开。您必须使用相同的顺序,在下面的例子:2,17,8,12,1,6,11,20,5,22,3,10,15,23,7,16,9,24,18,4,13,19,21,14。 门 封闭的门必须是: .-----------. | | | | | | | nn | |___________| 其中n代表门的数量(前导零是可选的),打开的门为: .-----------. |\ | | | | | | | | | | | |_________| \| 除了24号门,它是: .--------------------------. | | | | | | | 24 | |__________________________| .--------------------------. |\ | | | …

28
垂直折叠文字
说我有这样的文本(每个单词一行,没有空格) Programming Puzzles & Code Golf 这是没有意义的!它完全违背了物理定律。 您的挑战是要纠正这种不可能的情况并像这样折叠文本: P Prog &uzz Coderam Golflesming 因此,在任何字符下方都没有空白,但是字符保持了垂直顺序。 目的是满足要求,但使用尽可能少的源代码字节。

30
确定字符串是否为字谜
挑战 给定两个字符串,算出它们中是否都具有完全相同的字符。 例 输入值 单词,wrdo true之所以返回,是因为它们相同,但只是被打乱了。 输入值 单词,写 这返回false。 输入值 船,鸟羽 这返回 true 规则 这是规则! 假设输入将至少为1个字符长,并且不超过8个字符。 没有特殊字符,只有a–z 所有输入都可以假定为小写 测试用例 boat, boat = true toab, boat = true oabt, toab = true a, aa = false zzz, zzzzzzzz = false zyyyzzzz, yyzzzzzy = true sleepy, pyels = false p,p = true

30
我花了很多时间才能做到这一点。(YouTube评论1)
等等.....这不是拖钓。 背景 如今,在YouTube上,评论部分杂乱无章: S St Str Stri Strin String Strin Stri Str St S 其中String仅是占位符,是指字符的任意组合。这些模式通常伴随一个It took me a lot of time to make this, pls like或某种东西,并且OP通常会成功聚集许多喜欢的对象。 任务 尽管您凭借出色的高尔夫技巧在PPCG上积累了丰富的才能,但您绝对不是在YouTube评论部分发表机智的言论或引用模因的最佳选择。因此,您在YouTube上经过深思熟虑而提出的建设性评论几乎没有“喜欢”。您想要改变。因此,您可以采用上述陈词滥调的模式来实现自己的最终目标,而又不浪费任何时间手动编写它们。 简而言之,您的任务是获取一个字符串,例如s,并输出的2*s.length - 1子字符串s,以换行符分隔,以符合以下模式: (用于s=“ Hello”) H He Hel Hell Hello Hell Hel He H 输入值 单个字符串s。输入社区的默认值。您可以假设输入字符串仅包含可打印的ASCII字符。 输出量 几行用换行符分隔,构成如上所述的适当模式。应用社区的默认输出。输出中允许使用前导和尾随空白行(不包含任何字符或看不见的字符,如空格)。 测试用例 多字测试用例: Input => …

30
简单的猫程序
最常见的标准任务之一(尤其是在展示深奥的编程语言时)是实现“猫程序”:读取所有STDIN并将其打印到STDOUT。尽管这是用Unix shell实用程序命名的,但cat它的功能当然不如真实功能强大,后者通常用于打印(和连接)从磁盘读取的多个文件。 任务 您应该编写一个完整的程序,该程序读取标准输入流的内容并将它们逐字写入标准输出流。当且仅当您的语言不支持标准输入和/或输出流(大多数语言都理解)时,您才可以使用这些术语来表示它们在您的语言中最接近的等效词(例如JavaScript prompt和alert)。这些是唯一允许的I / O形式,因为任何其他接口都将在很大程度上改变任务的性质,并使答案的可比性大大降低。 输出应该完全包含输入,而没有其他内容。此规则的唯一例外是您的语言解释器不断输出的内容,例如问候语,ANSI颜色代码或缩进​​,这些输出不能被禁止。这也适用于尾随换行符。如果输入不包含尾随换行符,则输出也不应包含任何换行符!(唯一的例外是,如果您的语言在执行后绝对总是打印尾随换行符。) 只要标准输出流包含预期的输出,就会忽略标准错误流的输出。特别是,这意味着您的程序在达到流(EOF)的末尾时可能会以错误终止,前提是该操作不会污染标准输出流。如果这样做,我建议您也将无错误的版本添加到您的答案中(以供参考)。 由于这是在每种语言中而不是在每种语言之间的挑战,因此有一些特定于语言的规则: 如果您的语言完全有可能将标准输入流中的空字节与EOF区分开,则您的程序必须像其他任何字节一样支持空字节(也就是说,它们也必须写入标准输出流中)。 如果您的语言完全有可能支持任意无限的输入流(即,如果您可以在输入中遇到EOF之前开始将字节打印到输出中),则在这种情况下,程序必须正常工作。作为示例,yes | tr -d \\n | ./my_cat应打印ys 的无限流。由您决定打印和刷新标准输出流的频率,但是必须确保它在有限的时间后发生,而不管该流如何(特别是,您不能等待特定字符,例如打印前换行)。 请在您的答案中添加一条注释,说明有关空字节,无限流和无关输出的确切行为。 附加规则 这并不是要找到具有最短解决方案的语言(有些地方空程序会解决问题),而不仅仅是找到每种语言的最短解决方案。因此,没有答案将被标记为已接受。 大多数语言的提交都将以适当的预先存在的编码(通常(但不一定)为UTF-8)以字节计分。 某些语言(例如Folders)很难评分。如有疑问,请在Meta上提问。 随意使用一种语言(或语言版本),即使它比此挑战要新。专门针对此挑战提交0字节答案的语言是公平的游戏,但并不是特别有趣。 请注意,必须有一个解释器,以便可以测试提交。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。 还要注意,语言也必须符合我们平时的标准编程语言。 如果您选择的语言是已经有答案的另一种(可能是更流行的)语言的琐碎变体(请考虑使用BASIC或SQL方言,Unix shell或琐碎的Brainfuck派生词,例如Headsecks或Unary),请考虑在现有答案中添加注释在其他语言中,相同或非常相似的解决方案也是最短的。 除非之前已否决它们,否则所有标准的代码高尔夫球规则都适用,包括http://meta.codegolf.stackexchange.com/q/1061。 附带说明一下,请不要在无聊的语言中打扰无聊(但有效)的答案;这些对于这个问题仍然很有用,因为它试图编译尽可能完整的目录。但是,主要是使用作者实际上必须努力打出代码的语言来提高答案的准确性。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, …
84 code-golf  string 

30
我的狗真正听到了什么
我的狗叫雷克斯。每当我责骂他时,他似乎都不会留下深刻的印象,而我唯一看到他的反应就是我念出他的名字时。如果我说 Rex, I told you not to do this! You're making me angry Rex! 他所听到的是 Rex, * **** *** *** ** ** ****! ***'** ****** ** ***** Rex! 挑战:给定一个输入字符串,您的程序必须输出相同的字符串,该字符串中所有字母字符都变为星号,但单词外观上的字符Rex(必须保持原状)除外。非字母字符也保持不变。 详细信息:挑战不区分大小写,因此也rex必须保持不变。该单词Rex可以是另一个单词的一部分,因此例如anorexic必须呈现为***rex**。 更新:由于此挑战的初始文本并未阐明应如何处理下划线或数字或重音符号,因此我对这些字符没有特殊要求。因此,只要正确处理a-zA-Z中的字符(以及示例中提到的字符),解决方案就有效,!".。 测试用例 : 输入: Rex lives in Rexland. 输出: Rex ***** ** Rex****. 输入: To call Rex, just say "Rex". …

30
打印Tabula Recta!
打印Tabula Recta! Tabula Recta(有时称为“ Vigenere表”)是由Johannes Trithemius创建的,并已用于多种密码中,包括Bellaso Vigenere密码和Trithemius密码的所有变体。看起来像这样: ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTUVWXYZAB DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABCDEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVWXYZABCDEFGHIJKLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVWXYZABCDEFGHIJKLMNOPQR TUVWXYZABCDEFGHIJKLMNOPQRS UVWXYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQRSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRSTUVWXY 我经常需要它,但是在Internet上任何地方都找不到它可以复制和粘贴。因为方桌是那么的漫长,并采取该死的年龄打字,你的代码必须尽可能短。 规则/要求 每个提交应该是完整的程序或功能。如果它是一个函数,则只需将函数调用添加到程序底部即可使其可运行。其他任何内容(例如C中的标头)都必须包括在内。 如果可能,请提供指向可以测试您的程序的站点的链接。 您的程序不得向写入任何内容STDERR。 禁止使用标准漏洞。 您的程序在任何情况下都可以输出,但是必须将其打印出来(而不是数组或类似的东西)。 计分 程序根据字节评分,默认情况下为UTF-8或您选择的其他字符集。 最终,字节数最少的答案将获胜。 意见书 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes …

30
最短代码按位反转二进制字符串
我认为这里没有足够的简单问题供初学者尝试! 挑战:给定随机输入字符串1和0,例如: 10101110101010010100010001010110101001010 编写输出最短代码的最短代码,如下所示: 01010001010101101011101110101001010110101
79 code-golf  string 

30
N(e(s(t)))一个字符串
要“函数嵌套”字符串,您必须: 将第一个字符视为函数,然后将后续字符视为该函数的参数。例如,如果输入字符串是Hello,那么第一步将是: H(ello) 然后,对每个子字符串重复相同的步骤。这样我们得到: H(ello) H(e(llo)) H(e(l(lo))) H(e(l(l(o)))) 您的任务是编写“函数嵌套”字符串的程序或函数。例如,如果输入字符串为Hello world!,则应输出: H(e(l(l(o( (w(o(r(l(d(!))))))))))) 输入将仅包含可打印的ASCII,并且您可以采用任何合理的格式输入和输出。例如,STDIN / STDOUT,函数参数和返回值,对文件的读写等。 为简单起见,您还可以假定输入将不包含括号,并且将不为空。 Input: Nest a string Output: N(e(s(t( (a( (s(t(r(i(n(g)))))))))))) Input: foobar Output: f(o(o(b(a(r))))) Input: 1234567890 Output: 1(2(3(4(5(6(7(8(9(0))))))))) Input: code-golf Output: c(o(d(e(-(g(o(l(f)))))))) Input: a Output: a Input: 42 Output: 4(2) 像往常一样,我们所有的默认规则和漏洞都适用,并且以字节计的最短答案为准!

30
代码Johnny代码,代码!
摇滚乐队的创始者查克·贝瑞(Chuck Berry)今天不幸去世。 考虑一下他的著名歌曲“ Johnny B. Goode ” 的合唱: Go, go Go Johnny go, go Go Johnny go, go Go Johnny go, go Go Johnny go, go Johnny B. Goode (已采用其他 方法将其标点,但以上内容将用于挑战。) 挑战 给定一个非空的小写字母az字符串,输出“ Johnny B. Goode”的合唱以及输入字符串的所有实例Go或go替换为输入字符串的所有实例,并以相同的方式大写。 尾随换行符可以可选地跟随。合唱团中的其他所有内容都不应改变。 例如,如果输入是code输出,则必须精确 Code, code Code Johnny code, code Code Johnny code, code Code Johnny …
75 code-golf  string 

30
“ a”和“ b”的数量必须相等。你有电脑吗?
在彼得·林茨(Peter Linz )的一本流行(且必不可少的)计算机科学书籍《形式语言和自动机简介》中,经常提到以下形式语言: 主要是因为无法使用有限状态自动机处理该语言。此表达式的意思是“语言L由'a'的所有字符串组成,后跟'b',其中'a'和'b'的数量相等且非零”。 挑战 编写一个工作程序/函数,该程序将获取仅包含“ a”和“ b”的字符串作为输入,并返回/输出真值,并说出该字符串是否对形式语言L有效。 您的程序不能使用任何外部计算工具,包括网络,外部程序等。Shell是此规则的例外;例如,Bash可以使用命令行实用程序。 您的程序必须以“逻辑”方式返回/输出结果,例如:返回10而不是0,“哔”声,输出到stdout等。此处有更多信息。 适用标准代码高尔夫规则。 这是一个代码高尔夫球。以字节为单位的最短代码获胜。祝好运! 真实的测试案例 "ab" "aabb" "aaabbb" "aaaabbbb" "aaaaabbbbb" "aaaaaabbbbbb" 虚假的测试用例 "" "a" "b" "aa" "ba" "bb" "aaa" "aab" "aba" "abb" "baa" "bab" "bba" "bbb" "aaaa" "aaab" "aaba" "abaa" "abab" "abba" "abbb" "baaa" "baab" "baba" "babb" "bbaa" "bbab" "bbba" "bbbb"

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.