Questions tagged «string»

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

13
高尔夫我的莎士比亚报价参考
在为莎士比亚撰写论文时,我意识到我需要将引用引用缩短到更易于管理的长度。我以前一直在写这个: (Act 1, Scene 2, Lines 345-346) 但是现在我被告知要这样写它们: (I.ii.345-6) 显然,我需要一些打高尔夫的代码才能对莎士比亚的报价引用有所了解。 任务 编写一个程序或函数,给定在模板1或2之后输入字符串的情况,分别打印或返回在模板3或4之后返回的字符串。您只需要支持Act 1至5和Scene 1至9。 范本 范本1 (Act x, Scene y, Lines a-b) 您可以假设x从不超过5,y从不超过9,a并且b始终是正整数,不超过您语言的最大正标准整数值,并且a始终排他地小于b。 范本2 (Act x, Scene y, Line a) 与模板1的条件相同,但有关的信息除外b。 范本3 (x.y.a-b) 其中x是大写罗马数字,y是小写罗马数字,a并且b是数字,并且b被缩短为仅小于与相等的第一个不同有效位的数字a。 范本4 (x.y.a) 与模板3的条件相同,但不包含有关的信息b。 测试用例 让它f(s)成为任务中定义的功能。""表示字符串值。 >>> f("(Act 1, Scene 2, Lines 345-346)") "(I.ii.345-6)" >>> f("(Act 3, …

30
打网球吧
我突然真的很想打网球,可惜我没有球场! 惊喜!这是您进来的地方。 您必须为我打印一个网球场,但是由于机密原因,您必须以最少的字节数进行打印。 网球场 --------- | | --------- | | | xxxxxxxxx | | | --------- | | --------- 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

26
程序拼图和代码____
输入项 一个非空的编码字符串,由可打印的ASCII字符组成(范围为32-126),其中一些丢失的字母已替换为_。 输出量 长度相同的解码字符串,所有字母均小写,包括丢失的字母。 怎么样? 编辑:正如@Deusovi在评论中提到的,这是Bacon密码的一种变体。 收集原始字符串中的所有字母,然后将它们分组为5。不适合全部5个字符的其他字母将被忽略。 将每个组转换为二进制:小写= 0,大写= 1。这导致一个整数列表。 使用此列表中的每个值N,按出现顺序_将原始字符串中的每个值替换为字母的第N个字母(0索引)。 例: prOGraMMIng PuZZleS & cOde ____ prOGr --> 00110 --> 6 --> 7th letter = 'g' aMMIn --> 01110 --> 14 --> 15th letter = 'o' gPuZZ --> 01011 --> 11 --> 12th letter = 'l' leScO --> 00101 …

30
文字冰柱
由于Stack Exchange的技术限制,标题显示不正确。此挑战的正确标题是 做一个 Word Icicle! Word Icicle Word cicle ord cicle ord icle ord i le or i le or i l or l or r 当今的挑战是使输入词无法产生冰柱。给定一个完全可打印的ASCII字符串,以及至少2个非空格字符,请执行以下步骤: 打印字符串的当前状态。 用空格替换词法上最小的字符(空格除外)。如果有平局,请替换最左边的字符。 在连续的行上重复直到该字符串仅包含1个非空格字符。 这产生了输入字符串看起来像融化的效果。 I'm Melting!!! I'm Melting !! I'm Melting ! I'm Melting I m Melting m Melting m elting m lting …

30
在每个字符首次出现时拆分字符串
有关。 给定一个可打印的ASCII字符串,将其分割为一个非空字符串列表,并在每次出现以前从未在同一情况下出现过的字符时开始一个新的子字符串。 例子 "mississippi" → ["m","i","ssissi","ppi"] "P P & C G" → ["P"," P ","& ","C ","G"] "AAA" → ["AAA"] "Adam" → ["A","d","a","m"] "" → [] 轶事:结果将包含0到95个元素。95 个子串必然会一直持续到年底,因为在这一点上,所有可打印的ASCII字符已经开始子串,所以每一个额外的字符将之前发生,因而不能引起新的子字符串开始。

30
有已知的
美国前国防部长唐纳德·拉姆斯菲尔德(Donald Rumsfeld)著名地推广了“已知的已知物”。在这里,我们将把他的言论提炼成四行节。 具体来说,输出以下文本: known knowns known unknowns unknown knowns unknown unknowns 大小写无关紧要(例如,Known unKnowns可以),可以使用单行尾的换行符,但不允许其他格式更改。这意味着单词之间有一个空格,行之间有LF(59字节)或CR/LF(62字节)。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

30
第三弦
给定两个字符串,输出第三个字符串,该字符串不等于两个输入中的任何一个,但与两个输入中的任何一个具有相同的长度(以字符为单位)。保证至少有一个有效输出。 测试用例 引用测试用例以表明它们是字符串。输出是许多可能之一。 input, input -> output "test", "test" -> "tttt" "do", "don't" -> "dnut_" "ye s", "yes" -> "fals" "yes", "yes" -> "noo" "maybe", "mayue" -> "false" "false", "false" -> "truee" "false", "true" -> "fatr" "1", "" -> "0" "", "t" -> "s" "", "abcabc" -> "testst" "abcdefghijklmnopqrstuvwxyz", "aaaaaaaaaaaaaaaaaaaaaaaaaa" …
45 code-golf  string 

26
大笨钟大爆炸
您的任务是创建一个模仿Big Ben(Twitter)的程序。 任务 每当新的一小时开始时(根据计算机的本地时间或UTC),您都必须输出BONG重复的hour时间(单词之间留一个空格)。例如,当是3点钟时,您必须输出BONG BONG BONG。时间格式遵循12小时制,即12点以后,我们是1,而不是13。程序/功能必须永远运行。 例: 不要在括号内输出内容 (start: 00:34 for example) BONG (01:00) BONG BONG (02:00) (...) BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG BONG (12:00) BONG (01:00 again) (...) (it continues forever) 规则 的每个序列BONG必须用换行符分隔 允许前导/尾随换行符 然而前导/尾随空格都不会允许 提交必须永远运行 您的输出可能会从小时开始时起打印±3秒 您可能不假定该程序在任何特定时间运行 这是代码高尔夫球,因此字节数最短的程序将获胜!

1
线性时间中最长的公共子串
挑战在于编写代码以解决以下问题。 给定两个字符串A和B,您的代码应输出具有以下属性的A子字符串的开始和结束索引。 A的子字符串也应该与B的某些子字符串匹配。 不再有满足第一个属性的A子字符串。 例如: A = xxxappleyyyyyyy B = zapplezzz apple带有索引4 8(索引从1开始)的子字符串将是有效的输出。 功能性 您可以选择输入是本地目录中文件中的标准输入还是您自己的选择。文件格式将只是两个字符串,用换行符分隔。答案应该是完整的程序,而不仅仅是功能。 我最终想在从http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/的字符串中提取的两个子字符串上测试您的代码。 得分 这是带有扭曲的代码高尔夫球。您的代码必须及时运行O(n),其中n表示输入的总长度。 语言和图书馆 您可以使用具有免费编译器/解释器/等的任何语言。对于Linux。您应该只使用不是为解决此任务而设计的标准开源库。如有争议,我将其视为您的语言所标配的任何库,或者可以从默认存储库安装在默认ubuntu计算机中的任何库。 有用的信息 在线性时间内至少有两种方法可以解决此问题。一种是首先计算后缀树,第二种是首先计算后缀数组和LCP数组。 这是线性时间后缀树构造的完整(也许是过度)详细说明(不幸的是,有些数字被弄乱了)。关于https://stackoverflow.com/questions/9452701/ukkonens-suffix-tree-algorithm-in-plain-english的线性时间后缀树构造,还有一个非常好的SO答案。它还包括到源代码的链接。可以在这里找到另一个详细的说明,这一次提供了使用C的完整解决方案。 http://www.cs.cmu.edu/~guyb/realworld/papersS04/KaSa03.pdf的第2节给出了线性时间后缀数组构造算法,附录A具有C ++源代码。该答案告诉您如何计算最长的公共子字符串https://cs.stackexchange.com/questions/9555/computing-the-longest-common-substring-of-two-strings-using-suffix-arrays。https://courses.csail.mit.edu/6.851/spring12/scribe/lec16.pdf的第5节,其中也有相关的视频讲座https://courses.csail.mit.edu/6.851/spring12/lectures/L16 .html还解释了从1:16:00开始的相同算法。

30
爱我,不爱我
爱我,不爱我 这个简单的儿童游戏虽然古老,但仍然很受欢迎。由于我们现在生活在21世纪,因此我们将其数字化! 规格 程序必须不输入任何内容,除非您使用的语言不能生成随机种子-在这种情况下,您可以将种子用作输入。您的任务是编写一个程序,该程序将随机输出总共3到20行(包括3行和20行):“爱我...”和“爱我不...”,就像在游戏中一样(以及另外一行);读)。 但是,有一些限制。每行后应跟换行符。第一行必须是“爱我...”。最后一行(“爱我”或“不爱我”)应分别以感叹号或单个点结束。在最后一行之后,您需要在新行中输出一个heart(<3)或一个破碎的heart(</3),具体取决于是否“爱我!” 或“不爱我”。是最后一句话。 允许尾随空格。 示例输出 输出: 爱我... 不 爱我... 爱我...不 爱我... 爱我! <3 另一个输出: 爱我... 不 爱我... 爱我... 不爱我。 </ 3 这是代码高尔夫球,因此最短的条目将获胜! 另外,我的第一个挑战:)祝你好运!

30
输出编程语言名称
挑战: 在您选择的编程语言中,不输入任何内容,而是输出您的编程语言的名称。 足够公平吧? 限制条件: 您的代码中不能使用编程语言名称中包含的任何字符。例如,如果使用批处理,则不得在代码中使用字符'B''a't''c''h'。请注意,这是区分大小写的。我仍然可以使用字符“ b”,因为它与“ B”不同。 您可以在语言名称之前或之后使用“垃圾输出” 版本号不算作语言名称的一部分。例如,如果在Python 3中,我可以在答案中使用数字3 编程语言名称的输出不区分大小写。 禁止强行使用所有可能的字母组合,并希望您获得自己的语言名称。 示例输出:(假设我的编程语言称为语言)(✔如果有效,否则为✖) Language ✔ Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and …

12
在保留字词轮廓的同时加扰
这比“ 如何随机化单词中的字母和Cambridge Transposition”要先进得多,因为有关哪些字母可以与哪个字母互换的规则。一个简单的正则表达式在这里是不够的。 众所周知,只要单词的内脏都被打乱,只要它们的首尾字母以及它们的整体轮廓保持不变,仍可以阅读文本。给定可打印的Ascii + Newline文本,请按照以下规则对每个单词进行加扰: 加扰必须是(伪)随机的。 单词是拉丁字符从A到Z的序列。 只有首字母大写。 首字母和尾字母必须保持原样。 加扰时,只有以下组之一中的字母可以交换位置: acemnorsuvwxz bdfhkl gpqy it j (留在原地) 例 易腐烂,而他们的油菜 众所周知,只要其首字和末尾字母加上ovaerll ontliues raemin不能被破坏,txet仍可被读入,但其残言已被扰乱。给定一个patnirlbe Acsii + Nwnliee txet,samrclbe ecah单词anoccdirg表示这些规则: Smncrbliag必须是(pusedo)rondam。 刺是拉丁舞曲A thurogh Z的续集。 只有最初的小提琴才会成为uppcsaere。 必须先保持调音,再保持调音。 当使用sarnclbimg时,只有字母fwllnoiog guorps之一可能会出现以下情况: aneusvrowxmcz bhkfdl gqpy it j (入住plcae) 皇帝

30
这个词是按词法排序的吗?
给定输入字符串S,truthy如果S中的所有字母均按字母顺序排列,则返回:它们的ASCII值需要以升序或降序排列。falsy在其他情况下退货。 输入项 输入将使用相同的大小写(全部大写或全部小写)。您的提交应该能够同时处理这两种情况。 输入[A-Za-z]仅包含范围内的ASCII 输入长度至少为1,最多取决于您的语言支持的最大长度。 输入是字符串-不是字符列表,也不是ASCII码点数组。 输出量 输出应为true或false,或0/1,或者true / false您的语言可以提供的任何其他不同样式的输出。 所有正确的案例以及所有错误的案例都需要具有相同的输出。否为“ False为0,true为1、2或3”。 附加规则 禁止出现标准漏洞 答案必须是完整的程序或功能,而不是摘要或REPL条目。 代码高尔夫,最短答案(以字节为单位)获胜。 测试用例 特鲁西 "ABCDEF" "ZYX" "no" "tree" --> the multiple 'e's don't break the order "q" 虚假 "ABCDC" "yes" "deed" 无效 "Hello" --> invalid input - mixed case-, does not have to be handled "" …

6
我的魔方上有一只蚂蚁
一个标准的,已解决的3×3×3 魔方具有6个颜色不同的面,其中每个面都是3×3的一种颜色的正方形网格。白色的面与黄色相对,红色的面与橙色相对,蓝色的面与绿色相对,并且当白色指向上方时,红色在蓝色的左侧: 想象一下,一只蚂蚁坐在白脸的中央,面对红脸。您可以给他3个命令: 前进(^)-朝他面对下一个网格正方形的方向迈出一步,如有必要,跨过立方体的边缘。 右(>)-向右(顺时针)旋转90°,并保持在同一网格正方形中。 左(<)-向左(逆时针)旋转90°,并保持在同一网格正方形中。 给定任意命令列表,找到蚂蚁访问的正方形的颜色(不包括白色的起始正方形)。 例如,命令序列^^>^^<^^^的路径如下所示: 按顺序访问的网格正方形的颜色为white red red green green green yellow或,不计算起始正方形wrrgggy。 编写一个程序或函数,该程序或函数接受一串命令字符,<^>然后打印或返回wyrobg与该蚂蚁在多维数据集上的路径相对应的字符串(白色,黄色,红色橙色,蓝色,绿色)。 以字节为单位的最短代码获胜。抢七是较早的答案。 笔记 立方体在空中,蚂蚁有有效的毛虫,因此他可以遍历整个立方体。 多维数据集始终保持其已解决状态。 正方形的颜色仅在移动到正方形而不是旋转时才记录。起始白方块不应记录。 在输入和/或输出中可能存在单个可选的尾随换行符。 测试用例 input : output [empty string] : [empty string] ^ : w < : [empty string] > : [empty string] ><><<<>> : [empty string] >^ : w <<^> …

30
全角文字
全角文字是指每个字符(包括最后一个字符)后都有空格的文本。例如,此问题的第一句话变为: F u l l w i d t h t e x t i s t e x t t h a t h a s a s p a c e a f t e r e v e r y c h a r a c t …
44 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.