Questions tagged «string»

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

9
每个人都应该有一个朋友
孤立字符是没有相邻字符的相同类型的字符(除了换行符)。相邻字符可以在左侧,右侧上方或下方,但不能在对角线处。例如下面的文本H是孤立的: Ybb YH% %%%% 所有其他字符不是孤立的,因为它们每个都至少有一个相邻的相同类型的其他字符。 您的任务是编写一个将字符串作为输入并确定独立字符数的程序。 计分 您的答案将由两个指标评分。第一个是程序中孤立字符的数量。您应该力图将其最小化。第二个将是程序中的字节数。您也应该最小化它。程序大小将成为第一个条件的决胜局。 附加规则 您应该支持可打印的ascii范围的输入以及程序中使用的所有字符。 您可能认为换行符是换行符或换行符后跟换行符。 您可以采用任何合理的格式输入。这包括行列表。 测试用例 Ybb YH% %%%% 1个11 Aaaab uuu yyybbb 222 A 1个11 qqWWaaww 000

3
同名,me子!
编写一个函数或程序,当给定名称列表时,输出或返回一个列表,其中给定名称的重复项具有其姓氏的唯一缩写形式。 输入: 名称列表,其中名称由给定名称定义,姓氏由空格分隔。名称是仅包含大写和小写字母的非空字符串。该列表可以是字符串数组,也可以是用恒定的非字母,非空格字符分隔的名称,但是输出的格式必须与输入的格式相同。 输出: 输入名称的列表,其顺序和格式与通过以下规则修改的输入相同: 对于唯一的给定名称,仅输出给定名称 对于具有相同给定名称的名称: 除了其给定名称外,还要添加其姓氏的最短唯一版本,该版本不与其他名称共享,后跟一个句点。例如: John Clancy, John Smith变John C.,John S.和James Brown, James Bratte变James Bro.,James Bra. 如果一个姓氏是另一个姓氏的子集,例如Julian King,Julian Kingsley,则返回较小的姓氏的完整姓氏,不带句点。这个例子将成为Julian King,Julian King. 基本上,句点代表正则表达式.+,其中只有一个名称应与之匹配。 您可能会假设没有人会共享相同的给定名称和相同的姓氏 名称区分大小写 测试用例: John Clancy,Julie Walker,John Walker,Julie Clancy -> John C.,Julie W.,John W.,Julie C. Julian King,Jack Johnson,Julian Kingsley > Julian King,Jack,Julian King. Jack Brown,Jack Black,Jack …

6
数羊入睡
大多数人都熟悉这种数羊入睡的方法。有一群绵羊,其中一些在篱笆上跳跃,而您在绵羊跳跃时数数。据说,这可以使您的思维平静下来,并使您进入类似睡眠的状态,从而使您入睡。 这是一个面向右侧的ASCII绵羊,等待被计数: '00^> || 这是跳过篱笆的ASCII绵羊: '00^> /\ ++ 这是一个已被数过的朝左的人: <^00' || 挑战 给定两个输入整数,n和m,n > 2描述总共有多少只绵羊,并m > 0说出已经计数了多少只绵羊,输出一个ASCII艺术表示形式来计数要入睡的绵羊。 现在来看一下: 由于绵羊所处的围栏大小,第一排只能容纳最多的10绵羊,这还不包括当前跳跃的绵羊,绵羊也必须始终位于第一排。 随后的各行不能将羊放在各自的笔外(第二行的左边羊不能比第一行的羊多,右边的羊也不能多)。 如果11绵羊总数超过或等于总数,则第一行中必须包含10跳跃的绵羊。 前导/尾随空格和绵羊之间的空格无关紧要,只要: 绵羊之间至少要有一个空白字符 所有字符都正确排列。 只要符合这些规则,绵羊的实际安排就取决于您的实现。 例子 例如,这是n=3和m=1,是最简单的情况。 '00^> '00^> /\ <^00' || ++ || 这是n=11和m=6,可以容纳在一条水平线上的最多的绵羊。 '00^> '00^> '00^> '00^> '00^> /\ <^00' <^00' <^00' <^00' <^00' <^00' || || || …

14
ASCII飞机横幅
给定两个输入-其中一个非空打印的ASCII字符串(包括空间,不包括换行),两个不同的,你的选择(一致值的另一个是一个1 / 0,l / r,left / right等) -输出一个ASCII技术飞机字符串的横幅,指向左侧或右侧。为了保持一致性,我将使用left和right整个挑战描述。 平面是|-DI>-/(left)或\-<ID-|(right)。由于标语是清晰的,因此它由输入字符串的字符组成,这些字符由空格分隔,从左到右(left)或从右到左(right),并用形状框包围 /--/ ---< < \--\ 要么 \--\ > >--- /--/ 注意必须有消息的开始/结束和之间有一个空格>,<字符。 例如,这是消息HAPPY BIRTHDAY!和方向left: /-------------------------------/ |-DI>-/---< H A P P Y B I R T H D A Y ! < \-------------------------------\ 这是消息PPCG和方向right。请注意,从横幅广告的这一面查看时,字母显示为“向后”: \---------\ > G C P P >---\-<ID-| /---------/ 规则 前导或尾随的换行符或空格都是可选的,只要字符本身正确对齐即可。 …

15
反转串!
您的任务:编写一个程序/函数,当给定仅包含ASCII字符的字符串时,将以反白的方式输出/返回该字符串。 例: 1)输入 Hello, World! 2)在输入中为唯一字符编号。(输入字符串之间用竖线(|)分隔,以提高可读性) H|e|l|l|o|,| |W|o|r|l|d|! 1 2 3 4 5 6 7 8 9 10 3)对于重复字符,请查找该字符的第一个匹配项,并用与第一个相同的数字对重复的字符进行编号。 H|e|l|l|o|,| |W|o|r|l|d|! 1 2 3 3 4 5 6 7 4 8 3 9 10 4)颠倒字符串,但不颠倒数字。 !|d|l|r|o|W| |,|o|l|l|e|H 1 2 3 3 4 5 6 7 4 8 3 9 10 …
11 code-golf  string 

18
请填写空白!
(不,不是这个也不是任何这些) 给定一个字符串和一个字符串列表,用相应的字符串填充输入字符串中的所有空格。 输入输出 输入字符串仅包含字母字符,空格和下划线。它是非空的,并且不以下划线开头。换句话说,输入字符串与正则表达式匹配^[a-z A-Z]([a-z A-Z_]*[a-z A-Z])?$ 输入列表中的每个字符串都是非空的,并且仅包含字母数字字符和空格。换句话说,它们匹配正则表达式^[a-z A-Z]+$。 空白是下划线(_)的连续序列,下划线()之前或之后都没有。 输入字符串包含n一些正整数的空格n,字符串列表恰好包含n字符串。 通过将k输入字符串中的每个-th空格替换为输入字符串k列表中的-th字符串来获得输出。 例 给定一个输入字符串"I like _____ because _______ _____ing"和一个字符串列表["ice cream", "it is", "satisfy"],我们可以找到如下输出: 第一个空格紧随其后"like "。我们"ice cream"用来填充它"I like ice cream because ______ _____ing"。 第二个空格紧随其后"because "。我们"it is"用来填充它"I like ice cream because it is _____ing"。 第三个空格紧随其后"is "。我们"satisfy"用来填充它"I like ice cream because it is …

5
电脑永远不会品尝到令人耳目一新的Cookie
受github.com/JackToaster/Reassuring-Parable-Generator的启发,又受xkcd.com/1263的启发。可能的话是从派生reassuring.cfg该资源库的。 建议查看reassuring.cfg (使用第12次提交)以查看输出匹配的语法(输出是与语法匹配的所有字符串的列表)。 任务:您的程序必须输出pastebin pastebin.com/2SNAJ1VH中包含的所有7968个区分大小写的精确文本行。pastebin的副本保存在Wayback Machine中 这是来自pastebin的33条激励线的示例: Computers can't enjoy a salad. Computers can't enjoy a cake. Computers can't enjoy a ice cream cone. Computers can't enjoy a meal. Computers can't enjoy a drink. Computers can't enjoy a steak. Computers can't enjoy a chicken dinner. Computers can't enjoy a piece …

3
Lyndon字分解
背景 一个林登字是一个非空字符串,它是严格按字典比所有其他的旋转小。可以将任何字符串唯一地分解为Lyndon单词的串联,这样这些子单词在字典上就不会增加;您的挑战是尽可能简洁地执行此操作。 细节 您应该实现一个函数或程序,该函数或程序枚举任何可打印ASCII字符串的Lyndon字分解,以便将结果子字符串输出为某种数组或流。字符应按其代码点进行比较,并允许使用所有标准输入和输出方法。与通常的代码高尔夫球一样,以字节为单位的最短程序获胜。 测试用例 '' [] 'C' ['C'] 'aaaaa' ['a', 'a', 'a', 'a', 'a'] 'K| ' ['K|', ' '] 'abaca' ['abac', 'a'] '9_-$' ['9_', '-', '$'] 'P&O(;' ['P', '&O(;'] 'xhya{Wd$' ['x', 'hy', 'a{', 'Wd', '$'] 'j`M?LO!!Y' ['j', '`', 'M', '?LO', '!!Y'] '!9!TZ' ['!9!TZ'] 'vMMe' ['v', 'MMe'] 'b5A9A9<5{0' ['b', '5A9A9<5{', …

1
我<3有条件
您最终在代码中有很多很长,看起来很无聊的条件: if flag == 1: while have != needed: if type == 7: 这些可以转换为它们更可爱的&lt;3条件副本: if abs(flag - 1) + 2 &lt;3: while 3 - abs(have - needed) &lt;3: if 2 + abs(type - 7) &lt;3: 任务 您的任务是带条件并使其成为条件&lt;3。唯一重要的间距是&lt;和之间没有间距3。 条件语句将是要么分隔两个表达式==,!=,&gt;,&lt;,&gt;=或&lt;=。 表达式将仅包含加,减,一元否定(-something),其中每个变量或数字前面有一个+或-一个(除了第一个没有变量或没有变量或数字-之前)。 数字将为[0-9]+,变量将为[a-z]+。如果需要使用答案|x|(的绝对值x),请使用该abs()函数。您可以假设所有变量都是整数,并且输入中的所有数字常量均小于1000。 输出并没有需要在它的简单形式。它确实需要像上面的条件表达式,这意味着它仅是两个表达式,以一个条件符号分隔,但是它也可以使用abs函数,将有效表达式括起来,然后就有效性而言就像变量一样。 如果输入没有任何变量值的输出,则输出始终为false但仍以表示的条件&lt;3。 挑战的一部分是弄清楚如何做到这一点,但以下是上述步骤have != needed: have != needed have - …

14
验证2Col语法!
正如最近可能有几个人注意到的那样,我很大程度上放弃了Braingolf的开发,因为它既无聊又没有灵感,而是转到了2Col,它有点有趣,而且并不是设计成一种高尔夫语言。 2Col的定义功能是每行代码必须正好2个字符长,换行符除外。这意味着,一个2Col程序的长度总是可以被计算为3n-1,其中n是在程序行数。 所以这是我的挑战:给定2Col代码作为字符串,如果有效的2Col代码(每行正好是2个字符且符合3n-1公式),则输出true,否则输出false 。 输入值 输入应视为单个字符串或字符数组。 输出量 如果输入字符串是有效的布局,则为真实值,否则为假值。 您的代码应在使用的真实/错误值上保持一致 测试用例 ====== F! $^ ---- truthy ====== ====== *8 +1 Sq ---- truthy ====== ====== nop xt ---- falsey ====== ====== +1 +1 #^ ---- falsey ====== ====== &lt;empty string&gt; ---- falsey ====== ====== ye ---- truthy ====== ====== no&lt;space&gt; ---- …

3
挑战相似度检测器
挑战 给定两个问题ID,尝试通过查看答案来找出它们的相似程度。 细节 系统将为您提供两个问题ID codegolf.stackexchange.com。您可能会认为两个ID都存在未删除但不一定打开的问题。您必须遍历所有答案,并确定两个问题的答案中的代码之间的最小Levenshtein距离(不包括已删除的答案)。也就是说,您应该将问题1中的每个答案与问题2中的每个答案进行比较,并确定最小Levenshtein距离。要在答案中找到代码,请执行以下过程: 如何找到代码片段 文本主体是答案的实际代码,如果该文本位于反引号中并且位于其自己的行上,或者如果它缩进了4个空格,并且在其上方有一个空行,除非上面没有文本。 有效和无效代码段(带.空格)的示例(以一等号分隔) This is `not a valid code snippet because it is not on its own line` ======================================== This is: `A valid code snippet` ======================================== This is ....not a valid code snippet because there's no spacing line above ======================================== This is ....A valid code …

9
在我的MD2哈希中,哪些字符更常见?
挑战很简单 编写一个脚本,当给定一个字符串输入时,将使用MD2哈希算法对字符串进行哈希处理,然后返回正整数或负整数输出,基于以下结果在十六进制字符串中最常见的字符集如下: 01234567 - (positive) 89abcdef - (negative) 输入将始终是字符串,但长度最多可为65535 整个输入(空格和全部)必须进行哈希处理 出于此挑战的目的,整数0既不视为正数也不为负数(请参阅平局输出) 在32个字符的十六进制哈希字符串中,更常见的字符集是字符集 您的输出可以包含任何类型的尾随空白,只要唯一的非空白字符是有效的真或假输出即可 如果出现平局,则十六进制字符串每组中恰好包含16个字符,程序应输出0 I / O实例 Input: "" (Empty String) Hash: 8350e5a3e24c153df2275c9f80692773 Output: 1 Input: "The quick brown fox jumps over the lazy cog" (Without quotes) Hash: 6b890c9292668cdbbfda00a4ebf31f05 Output: -1 Input: "m" (Without quotes) Hash: f720d455eab8b92f03ddc7868a934417 Output: 0 获胜标准 …

9
解码隐藏的消息!
介绍 有一天,您只是在CIA的办公室里放松,突然间您在计算机上看到警报。您的程序刚刚截获了数百条编码消息!快速检查可以发现编码规则,但是您需要一个程序才能快速解码。 挑战 您将得到一个字符串列表,以逗号分隔。每个字符串将包含: 编码消息的一部分 如果不是形式,则它是编码消息的一部分a=b。请注意,如果是,则它是消息的一部分ab=c。将此字符串添加到编码消息中。 编码方案的一部分 这将采用的形式a=b。这意味着消息中的所有a必须替换为b。请注意,它可能是a==,表示所有a必须替换为=。 然后,您的程序必须输出消息,并使用找到的方案对其进行解码。 其他信息:您的输入将仅包含用于分隔字符串的逗号。它可能包含其他字符,例如!1#等。它将不包含大写字母。解码信息的各个位不会相互解码。只有消息受解码信息影响。每个字符只能有一个替换,例如:"io,"i=u","i=g" 例子 输入:"ta","y=s","y","a=e","b=t","b"," ","j","j=1" 输出:test 1 输入:"z=p","zota","g=e","yugkb","y=t","u=o","k=s","li","fg","b==" 输出:potatoes=life 输入:"p","=","==n","ot","p=a","hiz","i=e","z=r" 输出:another 这是代码高尔夫球,因此最短答案以字节为单位!

11
弹奏字符串
沙盒发布在这里。 创建一个“弹跳”字符串的函数或程序。 输入将是Stdin中的String或最接近的替代 输入将仅包含可打印的ASCII和/或空格 输出将输出到Stdout或最接近的输出 可以使用尾随的换行符和空格 如何弹奏字符串 根据需要将字符串格式化为尽可能多的ASCII弹簧圈 用空间填充线圈,直到最近的线圈 跟随线圈周围的弹簧,读出字符 这是一个ASCII弹簧圈: # # #### # # # #### # 其中#s是字符串的字符 这是一个例子: abcdefghijklmnopqrstuvwxyz 变成 a b cdef g h i jklm n o p qrst u v w xyz. . 其中.s替换了可见性的空格。 然后,该字符串被读回,继ASCII春天向下,周围的循环,命中g和u两次: 1| a &lt;-3 V b cdef g h 4| …
11 code-golf  string 

10
这只猫有虫子吗?真?
挑战: 读取输入(在可见的ASCII范围内)和进行一些修改的输出: 在每组10个字符的输入中随机(50/50): 替换一个字符*(在可见的ASCII范围内替换为一个随机的**)(例如lumberjack成为lumbeZjack) 或删除一个字符(例如lumberjack成为lmberjack) *如果集合少于10个字符,则不必修改它,但是可以。 **字符可以与一个输入相同,只要它仍然是随机的即可。 例: 输入:Go home cat! You're drunk! 输出:(Go hom cat! YouLre drunk! 仅作为示例,由于输出可能是随机的,因此请勿用作测试用例) 规则: 代码高尔夫球,最少字符获胜!

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.