Questions tagged «string»

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

6
将RNA解析为密码子
介绍 RNA是DNA的近亲。其主要目的是通过称为翻译的过程控制细胞中蛋白质的产生。在这一挑战中,您的任务是实施该过程的一部分,其中将RNA分成密码子。 这项挑战与主题相关,但集中在翻译过程的另一部分。 密码子 我们将RNA视为碱基对字母上的长字符串AUCG。在翻译中,RNA被分为三个碱基对的非重叠片段,称为密码子。该过程开始于一个起始密码子,AUG以及在端部一终止密码子的一个UAA,UAG或UGA。每个密码子(终止密码子除外)都对应一个氨基酸,并且所形成的氨基酸串形成蛋白质。 输入值 您输入的是非空的RNA字符串。 输出量 您的输出是将RNA分割成任何合理格式的密码子列表。在此简化模型中,过程从最左侧的起始密码子开始,该密码子AUG包含在输出中。当遇到终止密码子或我们用完RNA时,它结束。如果输入不包含起始密码子,则输出应为空列表。 例子 考虑输入顺序 ACAUGGAUGGACUGUAACCCCAUGC 解析从的最左边出现AUG在索引2 开始。它继续如下: AC AUG GAU GGA CUG UAA CCCCAUGC * ^ ^ ^ + 标*有的密码子是起始密码子,标^有的密码子也是输出的一部分。终止密码子标有+。正确的输出是 AUG,GAU,GGA,CUG 对于较短的输入 ACAUGGAUGGACUGU 过程进行 AC AUG GAU GGA CUG U * ^ ^ ^ 这次,没有遇到终止密码子,所以当我们用完碱基对时,该过程停止。输出与上面相同。 规则和计分 您可以编写功能的完整程序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 GGUACGGAUU -> GGCGAAAUCGAUGCC -> AUG …

1
最大子串构造
在此挑战中,您通过了两件事: 字符串长度 N 字符串列表L,每个都有一个指定的点值。任何未传入的字符串的点值为0 您需要构造一个长度字符串N,以使所有子字符串点的总和尽可能大。 例如: 5 [("ABC", 3), ("DEF", 4), ("CDG", 2)] 应该输出 ABCDG 因为带有点(ABC和CDG)的两个子字符串总共有5个点,所以其他任何可能的构造都不能给出5个或更多点。 子字符串可以在字符串中多次使用,并且可以重叠。您可以假设这些点将始终为正,子字符串的长度将在1到N字符长之间,并且那个N > 0。如果最多有多个构造,请打印其中任何一个。 您的程序必须在合理的时间内运行(每个示例的时间不得超过一分钟): 1 [("A", 7), ("B", 4), ("C", 100)] => C 2 [("A", 2), ("B", 3), ("AB", 2)] => AB 2 [("A", 1), ("B", 2), ("CD", 3)] => BB 2 [("AD", 1), …

2
长跑赛车
系统将为您提供两个输入:一个以游程长度编码格式定义运行轨迹的字符串,以及一个大写字母,表示从其开始的车道。例如,字符串“ 3a4A6b5B”扩展为“ aaaAAAAbbbbbbBBBBBBB”。然后,使用扩展的字符串来创建轨道,如下所示: A) aaaAAAA B) bbbbbbBBBBB 这是一条有两条车道的赛道。小写字母代表空气。你不能在空中跑!大写字母表示可以行驶的道路。您的挑战目标是给定大写字母,输出从该车道开始行驶的赛车手能跑多远。如果赛车正上方或正下方有一条道路,则允许赛车手转换车道。他们也被允许倒退!在此特定轨道上,任何字母输入的输出均为0,因为这两个轨道都在位置1处没有可行驶的道路。 例子: 输入: “ 4A5B4c3C”,“ A” 此代码扩展为如下所示的轨道: A) AAAA B) BBBBB C) ccccCCC 此示例的输出为7,因为从车道A开始的跑步者可以向下移动至车道B,然后下降至车道C,最后到达第7位。 输入: “ 4A2B3D”,“ D” 跟踪: A) AAAA B) BB C) D) DDD 输出为3,因为从D道开始的跑步者无法进入B道或A道 输入: “ 4A4a4A3b6B5C”,“ A” 跟踪: A) AAAAaaaaAAAA B) bbbBBBBBB C) CCCCC 输出为12,因为A上的跑步者可以切换到B,然后最后返回A。“ C”的最大距离也是12。对于“ B”,最大距离是0。 输入: “ …

5
jQuery摊牌
这次事件过了一段时间…… 有一些的我们谁是对的jQuery这个玷污顺序。这是一个邪恶的存在,必须消灭它。因此,我呼吁忠于新改革国度的人们制定一个消除这种阻力的计划。必须对所有代码进行验证并搜索jQuery的任何和所有踪迹。而且,当然,您的提交内容必须简短(又有预算削减,不幸的是,这是在存储部门进行的)。并且它不能具有带分隔符的字符。 为使您快速入门,请使用下列字符中的任意一个来定义字符:jJqQuUeErRyY$x0。如上所述,即使在您自己的程序中,也严禁使用这些字符。所以不要使用它们。我们也可以接受美元符号的数字。因此,任何形式的n+(.nn)*$都可以(您仍然不应该使用0。) 您的程序/代码/等 必须验证输入程序。如果它包含任何限定字符,您必须输出This programmer is guilty of Heresy. He must be burnt.; 如果找不到此类字符,则必须输出Program validated. Clearance level 2 given.。 奖金和罚款 我个人很欣赏这个角色~。对于您使用的每两个,我给您-1个字节。(即彼此~免费。) 您可以从排除的字符中选择一个字符;不过,您可能会在所有情况下都使用此字符,但是,该字符的每个实例都会有+ 50%的字节初始罚款,然后有+5字节的罚款。 -90%,如果您未jquery在源代码中使用任何相邻的字符(为了安全起见)。这些是(另外):iIkKpPsSzZXdDfF 如果给定一个无效的字符串并输出上述文本时,如果-运行1 替换了所有无效字符,*并且运行了小于10的字符串,并且替换了所有[]不再运行的字符串,则为-20%。 -50字节(如果找不到JavaScript/i或Simplex带有转义字符)。 参考实施 function validate() { var str = document.getElementById("input").value; var str2 = str.replace(/[jquery0]/gi,"").replace(/x/g,"").replace(/(\d+\.*\d*\d*\$)|\$/g,"$1"); // thanks Doorknob! var val; if (str2 == str) { …

30
查找输入字符串中字符的出现
挑战 编写一个程序,给定一个x长度为10个字符的字符串和一个字符y,该程序输出ystring中出现字符的次数x。 以字节为单位的最短程序为准。 例 Input: tttggloyoi, t Output: 3 Input: onomatopoe, o Output: 4

7
编号分级大纲
编写一个包含字符串的程序,其中每一行都由0缩进一定数量的空格的字符组成。顶行没有缩进,并且每隔一行缩进的空间最多比前一行缩进更多。 没有行将有尾随空格,但是您可以选择假设只有一条尾随换行符。 例如,输入可能看起来像这样: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 您的任务是像对其进行分级一样对它进行编号,使用递增的正整数作为行标题。这将是示例的输出: 1 1 1 2 2 2 1 2 3 1 3 1 1 2 注意每个分层缩进级别如何都有自己的一组递增数字,即使它们仅递增到一个。 在输出中,不应有尾随空格,但是可以选择有一条尾随换行符。 编写一个通过stdin或命令行获取输入字符串的完整程序,或者编写一个将字符串作为参数的函数。打印结果或将其作为字符串返回。 以字节为单位的最短代码获胜。 例子 如果输入空字符串,则应输出空字符串。 下一个最简单的示例是输入 0 应该变成 1 大示例-输入: 0 0 0 0 0 0 0 …

2
莱文施泰因距离的每一步
在此挑战中,您将编写一个程序,该程序将两个换行符分隔的字符串s1(第一行)和s2(第二行)作为输入(STDIN或最接近)。您可以假设s1的长度始终小于30且大于s2的长度。然后,程序应输出从s1到s2的levenshtein距离中的每个步骤。 为了弄清楚levenshtein距离中每个步骤的含义,程序将打印n个字符串,其中n是s1和s2之间的levenshtein距离,两个相邻字符串之间的levenshtein距离将始终为1。顺序无关紧要。输出应以换行符分隔,并且不包括s1,仅包括in和s2。该程序还应在一台现代计算机上在一分钟内运行。 例子: 输入: Programming Codegolf 输出: rogramming Cogramming Coramming Coamming Codmming Codeming Codeging Codegong Codegolg Codegolf 输入: Questions Answers 输出: uestions Aestions Anstions Ansions Answons Answens Answers 输入: Offline Online 输出: Ofline Online 输入: Saturday Sunday 输出: Sturday Surday Sunday 这是指向python脚本的链接,该脚本可打印出距离和步骤。 附加规则: 不使用互联网 适用标准漏洞 这是代码高尔夫球,因此请使代码简短;最短的代码胜出!
18 code-golf  string 

24
柜台柜台
在印刷术中,计数器是指字母的全部或部分由字母形式或符号包围的区域。封闭式计数器是完全由字母形式或符号包围的计数器。您必须编写一个将字符串作为输入的程序,并在文本中打印已关闭计数器的总数。 您的输入: 可以是命令行输入,也可以是STDIN的输入,但必须指定。 将完全由可打印的ASCII字符组成,表示所有ASCII值(介于32和126之间)。这确实包括空格。更多信息。 现在,这确实在字体之间略有不同。例如,您正在阅读的字体将'g'视为一个封闭的计数器,而google字体将'g'视为具有两个封闭的计数器。因此,这不是问题,这里是每个字符封闭计数器的正式数量。 所有没有封闭计数器的符号: !"'()*+,-./12357:;<=>?CEFGHIJKLMNSTUVWXYZ[\]^_`cfhijklmnrstuvwxyz{|}~ 请注意,这包括空间。 以下是所有带有一个封闭计数器的符号: #0469@ADOPQRabdegopq 这是带有2个封闭计数器的所有符号: $%&8B 最后但并非最不重要的是,这里有一些示例输入和输出。 Programming Puzzles and Code-Golf 应该打印 13 4 8 15 16 23 42 应该打印 5 All your base are belong to us 应该打印 12 Standard loopholes apply 应该打印 12 Shortest answer in bytes is the winner! 应该打印 8
18 code-golf  string 

13
扩展编码字符串
有经典的游程长度编码和解码。 input output a3b2c5 aaabbccccc 这是相当直接的,之前已经完成。 面临的挑战是也占了非标准的行为,当多个字符先于游程长度(一个单从0-9位)。游程长度位之前的每个字符(字符串的一个非数字或结束之前的最后一位数字)具有施加到其上该值单独地和以打印出来。 一些测试输入和输出,包括一些边缘情况: input output ab3c5 aaabbbccccc a0b3 bbb 13b1 111b a13b1 aaa111b a123b1 aaa111222b aa2a1b1 aaaaab 字符序列([a-zA-Z0-9]+)后必须跟游程长度长度([0-9]) 只需要考虑有效的输入(([a-zA-Z0-9]+[0-9])*) 是的,空字符串是有效输入。 输入通过标准输入,通过标准输出输出 这是代码高尔夫,字节数确定获胜者。
18 code-golf  string 

8
一字母互换
网络上最大的论坛postpost ++决定制作一个新的论坛游戏。在此游戏中,目标是发布单词,但是单词必须添加,删除或更改一个字母。您的老板希望您编写一个程序来获取单词,并使用UNIX词典,因为您在一家拥有更智能论坛和更智能论坛游戏的公司工作,并想破坏竞争(嘿,这是您的老板,不要与他讨论,无论如何您都会从工作中获得很多现金)。 您的程序将获得两个参数,单词和字典。由于管理程序的用户(是的,用户,您的公司没有资源来运行机器人)并不完美,因此您应该对两种情况都进行规范化处理。词典中的单词可能具有ASCII字母(大写和小写,但在比较时应将其忽略),破折号,撇号和中间的非连续空格。它们不能超过78个字符。您必须输出游戏中可以接受的单词列表,以打破手动思考单词的人们的乐趣。 这是您期望的程序的示例,检查与相似的词golf。 > ./similar golf /usr/share/dict/words Goff Wolf gold golfs goof gulf wolf 的/usr/share/dict/words是单词的列表,每个后换行符。例如,您可以使用fgets()轻松阅读该内容。 您工作的公司没有很多打孔卡(是的,这是2014年,他们仍然使用打孔卡),所以请不要浪费它们。编写尽可能短的程序。哦,您被要求不要使用Levenshtein距离的内置或外部实现或任何类似算法。关于“此处未发明”或显然是供应商插入该语言的后门的东西(您没有这些的证明,但不与老板讨论)。因此,如果您需要距离,则必须自己实现。 您可以自由使用任何语言。即使有了打孔卡,该公司也可以使用最现代的编程语言,例如Cobol Ruby或Haskell或任何您想要的东西。他们甚至拥有GolfScript,如果您认为它对字符串操作很有用(我不知道,也许...)。 获胜者会从我那里获得15个声誉点,并可能从社区中获得许多其他积分。其他好的答案将获得10分,社区也将获得分。您听说积分不值钱,但是很有可能在2050年取代美元。但是,这还没有得到证实,但是无论如何要获得积分是一个好主意。
18 code-golf  string 

15
编码高尔夫ASCII艺术的简单方法!
任务: 在这个网站上,有很多答案都被安排在ascii艺术中,例如这个。通常,这种安排是手动完成的,但是程序对此没有帮助吗?:) 您的程序将接受3个输入: 代码,作为一行 模式中的行数(如有必要,可以省略) 模式本身,如*s或其他字符 规则: 您必须编写一个从stdin读取的程序(而不是函数) 文本每行从左到右放置 如果没有足够的文字填充模式,请.在剩余的空格中输入s 如果文本太多,无法填充图案,请在输出后将其打印出来 code-golf,所以最短的代码(以字节为单位)获胜 样品运行: 输入(精确拟合测试): qwertyuiopasdfghjklzxcvbnm 4 ***** * *** * * * * * * * * ***** * *** 输出: qwert y uio p a s d f g h j klzxc v bnm 输入(额外字符测试): qwertyuiopasdfghjklzxcvbnm12345 4 ***** * …

1
创建一个C预处理程序
目的是为C语言创建一个预处理器,以您喜欢的语言在源代码大小(以字节为单位)方面尽可能地小。它的输入将是C源文件,其输出将是经过预处理的源代码。 它需要处理的项目为:注释删除(行/块),#include指令(通过在相对路径中打开文件并在需要的位置替换文本),#define,#undef,#if, #elif,#else,#endif,#ifdef,#ifndef和define()。其他C预处理程序指令,例如#pragmas或#errors,可以忽略。 无需在#if指令中计算算术表达式或比较运算符,我们假设该表达式只要包含非零的整数(它的主要用途将用于define()指令),就将计算为true。可能的输入和输出示例如下(为了更好的显示,输出文件中可能的多余空格被剪裁了,不需要您的代码这样做)。能够正确处理以下示例的程序将被认为是足够的。 ----Input file: foo.c (main file being preprocessed) #include "bar.h" // Line may or may not exist #ifdef NEEDS_BAZZER #include "baz.h" #endif // NEEDS_BAZZER #ifdef _BAZ_H_ int main(int argc, char ** argv) { /* Main function. In case that bar.h defined NEEDS_BAZ as true, we call baz.h's …
18 code-golf  string  c 

25
大写字符串
给定一个字符串,将其大写。大写的意思是conTeNT-lENgth改变Content-Length。在示例中,我显示了带有2个单词的字符串-作为单词边界。但是,我希望您为包含以单个字符分隔的任意多个单词的边界的字符串编写代码。该边界可能会在整个字符串上变化。 条件 使用regular expressions是不允许的。 句子(字符串)中可以有任意数量的单词。 每个单词将由English大小写字母组成[a-zA-Z]。 句子中的不同单词将由单个字符分隔。该角色将仅是任何一个-,.,<space-character>,/,&,#。您可以放心地假设该句子除提及的字符外将不包含任何其他字符。 字边界应保留在输出中。 最短的代码胜出。 例如你的程序应该输出Begin/With.Type&Content的BeGin/wITH.tyPE&conTeNt。 Some test cases: "aGeNT ACcEpT/LEngTh-tYPe USeR raNgE.TyPe" "type&AgeNt/CC/COnteNt lEnGth#acCePT/AgeNt.RAnGe-Cc/contEnt/cODe" "cc/rEspoNCe.lEngtH#tYpE-witH&UsEr/bEgIN&uSer.AGEnT&begIn/aCCEPt/Cc" "lENgTH#USeR.tYpE/BeGiN&LENGth tYpe/ACCEpt#rANge/codE&AnD-ACCepT/ConTenT" "contENT/ACcEpT" "BeGin/wITH.tyPE&conTeNt" "Code.cc#User.lenGTh-USer-AND&tyPE TypE&leNgtH.tYPe usER.UseR&with" "RaNgE&COnTeNT WITh CoNTENT-TypE tyPe" "BEgin COdE#uSeR#aGeNt.USeR" "TypE LENGth"
18 code-golf  string 

23
吉米可以挂在绳子上吗?
他原父亲的另一个吉米挑战。看看这些其他 可爱的 挑战。 众所周知,最近我们在平台上看到了与Jimmy相关的挑战。现在,吉米是我之前提到的杂技演员,而他还有其他技巧。 这些技巧之一是用绳子吊起来。这是吉米可以悬挂的绳索的示例: || || || || || || 当吉米挂在绳子上时,看起来像这样: || || /o\ || || || 他可以挂在绳子的左侧或右侧,因此: || || || /o\ || || 也有效。但是他不能只垂悬一个身体部位,所以像这样: || || || /o\| || || 是无效的。请注意,当他垂悬在身体的一部分上时,可以看到绳的另一半,因为吉米没有遮住它。 另外,吉米(Jimmy)不喜欢挂在绳子的底部-吓到他了-因此: || || || || || /o\ 是无效的。 挑战 像上面那样输入吉米的情况,并通过真实或虚假的值输出吉米是否会坚持到底。 细节 编写一个需要输入的程序。这可以通过函数或任何其他适当的输入方法。 输入应该是一个吉米和一根绳子的场景,如上面示例所示。 程序应分别根据Jimmy可以挂在绳子上还是从绳子上掉下来,向控制台输出真实或虚假的值。 吉米能够胜任的标准: 他的两个身体部位都在绳子上。 他不在绳底。 …

2
被包围的东西
我一直想用#s 包围一些文本,但是我很难弄清楚我所包围的内容,因此在此挑战中,您将编写一个程序来做到这一点 例子 输入/输出用换行符分隔。 ### #a# ### a # #a# # a ### # a # # b c # ####### a b c ABCDHIJ E####GK F# M #L # N#O P#### M N ###A### #C#B#o# #d###e# # go# ### C o d e go 规格 #s是什么“包围”文本块 # 将始终彼此相邻(包括对角线) # …
18 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.