Questions tagged «string»

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

18
自动进行一年级的计数练习
CodeGolf挑战 PWSSHHHH!您在3000年的一个低温实验室中醒来。在押送至任务分配办公室以接收您的职业筹码(大概是送货员的职业筹码)后,探针会检测到您来自2000年。刻板印象,与当今的现代人相比,你被认为是愚蠢的,被迫重读小学。 您进入一年级教室,老师正在做作业。她会说或写一个不超过50的数字。如果她在黑板上写下该数字(例如:25),那么您必须说不超过该数字的数字“ 1、2、3,...,25 ”。如果她大声说出数字(例如:“六个”),则必须在平板电脑上将数字写成最大为“ 1、2、3、4、5、6” 这变得非常乏味,您决定使用仍在运行的21世纪原始编程知识来自动化该过程。 目的: 您的程序应该接受输入。该输入将是十进制数字(1 thru 50)或写出数字(one thru fifty)。 •如果输入为十进制数字,则您的输出应使用写出样式从一到该数字进行计数。(例如32个) •如果输入是写出的数字,则您的输出应使用小数形式从1计数到该数字。(例如32) 规则: 输入和输出可以在您选择的任何情况下使用(因此,如果需要,您可以制作一个仅接受大写字母的程序)。 输入的十进制数字不必是数字类型(例如int),它们可以是包含数字的输入字符串(25对“ 25”)。两种都很好,您可以选择要让程序接受的一种。(您的程序无需同时接受两者) 书面样式不需要复合词之间的连字符,但是如果需要,可以。 输出值必须以某种形式分隔,任何分隔符都可以 1,2,3 1 2 3 etc 您不能添加额外的库,例如num2words(python)等(但是系统库也可以) 即使背景故事说您来自2000年,您也可以使用在该日期之后创建的语言(lol) 这是代码高尔夫球,因此字节数最短的程序将获胜!

21
跨越袋鼠
背景故事 免责声明:可能包含有关袋鼠的虚假信息。 袋鼠穿越了几个发展阶段。随着年龄的增长和力量的增强,他们可以跳得更高和更长,并且在饥饿之前可以跳更多次。 在第1阶段,袋鼠很小,根本无法跳跃。尽管如此,还是不​​断需要营养。我们可以这样表示第1阶段袋鼠的活动模式。 o 在第2阶段,袋鼠可以跳一点,但饿之前不能超过2跳。我们可以代表一个阶段2这样袋鼠的活动模式。 o o o o o 在第2阶段之后,袋鼠会迅速改善。在随后的每个阶段中,袋鼠都可以跳得更高一点(在图形表示中为1个单位),并且是原来的两倍。例如,第3阶段袋鼠的活动模式如下所示。 o o o o o o o o o o o o o o o o o 对于阶段n,活动模式由高度为n的2 n-1个 V形跳跃组成。 例如,对于阶段4,有8个高度4的跳跃。 o o o o o o o o o o o o o o o o o …

14
找到无限的话!
(注意:这是我以前的挑战“ 发现旋流词”的副产品!) 无限词的定义: 如果使用曲线连接字母(AZ)上无穷大字的所有字符,则将获得无穷大符号∞,如下图所示。 所有甚至连接必须下来,所有的奇数连接必须起来。 您可以忽略大写/小写或全部考虑/转换为大写或全部转换为小写。 输入的单词仅是AZ字母范围内的字符,没有空格,标点符号或符号。 每个单词必须正好是5个字符。单词> 5或<5无效。 如果单词具有两个连续的字符,则该单词无效,例如“ FLOOD”或“ QUEEN”。 所有无穷词以相同的字符开始和结束。 这里有一些例子: 任务: 编写一个完整的程序或函数,该程序或函数将从标准输入中提取一个单词,然后输出是否为无穷大字。输出可以是true / false,1 / 0、1 / Null等。 测试用例: Infinity Words: ALPHA, EAGLE, HARSH, NINON, PINUP, RULER, THEFT, WIDOW NOT Infinity Words: CUBIC, ERASE, FLUFF, LABEL, MODEM, RADAR, RIVER, SWISS, TRUST, KNEES, QUEEN, GROOVE, ONLY, CHARACTER, …
36 code-golf  string 

30
EvenSt环代码-g ol!f
“偶数字符串”是字符的ASCII值的奇偶校验始终交替的任何字符串。例如,字符串EvenSt-ring$!是偶数字符串,因为字符的ASCII值为: 69 118 101 110 83 116 45 114 105 110 103 36 33 这些数字的奇偶性是: Odd Even Odd Even Odd Even Odd Even Odd Even Odd Even Odd 整个过程交替进行。然而,像一个字符串Hello world!是不是一个甚至字符串,因为ASCII值是: 72 101 108 108 111 32 87 111 114 108 100 33 奇偶校验是: Even Odd Even Even Odd Even Odd …
36 code-golf  string 

23
数山羊入睡
有些人数羊入睡。其他人则数山羊。 编写一个程序或函数,该程序接受一个正整数N并输出N-1个清醒的山羊,然后输出一个熟睡的山羊,就好像有人在计数N个山羊,最后他们睡着了一样。 清醒的山羊看起来像这样: \ ___/o> -(___)" '' '' 睡觉的山羊看起来像这样: \ ___/-> ,(___)" `` `` 它们通过相邻山羊的胡须和尾巴之间的单个空间链接在一起: \ \ \ ___/o> ___/o> ___/-> -(___)" -(___)" ,(___)" '' '' '' '' `` `` 输出允许有尾随空格和一个尾随换行符。 以字节为单位的最短代码获胜。 例子 N = 1: \ ___/-> ,(___)" `` `` N = 2: \ \ ___/o> ___/-> -(___)" ,(___)" …

25
扩展一个C数组
在C编程语言中,数组的定义如下: int foo[] = {4, 8, 15, 16, 23, 42}; //Foo implicitly has a size of 6 数组的大小是从初始化元素推断出来的,在这种情况下为6。您还可以以这种方式编写C数组,显式调整其大小,然后按顺序定义每个元素: int foo[6]; //Give the array an explicit size of 6 foo[0] = 4; foo[1] = 8; foo[2] = 15; foo[3] = 16; foo[4] = 23; foo[5] = 42; 挑战 您必须编写将数组从第一种方式扩展到第二种方式的程序或函数。由于您正在编写使代码更长的程序,并且您很讽刺,因此必须使代码尽可能短。 输入将是代表原始数组的字符串,而输出将是扩展的数组定义。您可以放心地假设输入将始终如下所示: <type> …
36 code-golf  string  parsing  c 

30
使硬币公平
您有一枚可产生0或的硬币1。但是您怀疑硬币可能有偏差,这意味着0(或1)的概率不一定是1/2。 由冯·诺伊曼(von Neumann)提出的一种众所周知的将“有偏见的硬币”“转化”为公平硬币的过程(即获得同样可能的结果)如下。产生(不重叠)两个掷硬币的区块,直到一个区块的两个值不同为止;并在该块中输出第一个值(第二个值也可以,但是出于挑战的目的,我们选择第一个)。直观地看,1可能比更容易0,但01和10将同样有可能。 例如,输入1110...将丢弃第一个块,然后1从第二个块产生a ,... 此过程很昂贵,因为要消耗多个硬币才能产生单个结果。 挑战 取零和一的有限序列(代表原始硬币的抛弃),并根据上述过程产生最大数量的结果,直到消耗完所有输入为止。 如果输入值的数量为奇数,则最后一个块可能不完整。例如,输入序列11111将不产生结果(前两个块具有相等的值,而第三个块不完整)。 规则 输入可以具有任意数量的非负值,不一定是正数或偶数。 输入格式可以是: 零和一的数组; 一串零和一,并带有可选的分隔符。 输出格式可能是: 一串零和一,带或不带分隔符; 零和一的数组; 包含单个零或一的字符串,以换行符分隔; 适合您的语言的任何相似,合理的格式。 代码高尔夫。最少的字节数获胜。 测试用例 这里假定输入和输出为字符串。 Input --> Output '1110' --> '1' '11000110' --> '01' '1100011' --> '0' '00' --> '' '1' --> '' '' --> '' '1101001' --> '0' '1011101010' --> '1111'

28
Java对JavaScript就像汽车对地毯一样
标题被盗灵感来自格雷格Hewgill的回答到什么是JavaScript和Java之间的区别? 介绍 Java和JavaScript是程序员常用的语言,并且是Stack Overflow上最流行的标签。然而,众所周知,除了名字相似外,两者几乎没有共同之处。 为了纪念编程界最臭名昭著的辩论之一,并受到我最近对标记搜索的不满启发,我提出以下建议: 挑战 编写一个将字符串作为输入的程序。返回car如果字符串开头的“Java”和不包括“的JavaScript”。否则,返回carpet。 输入和输出示例 汽车: java javafx javabeans java-stream java-script java-8 java.util.scanner java-avascript JAVA-SCRIPTING javacarpet 地毯: javascript javascript-events facebook-javascript-sdk javajavascript jquery python rx-java java-api-for-javascript not-java JAVASCRIPTING 笔记 输入匹配不区分大小写 输出的唯一可能性应该是car或carpet 如果您的答案使用Java,JavaScript或Regex,则可获得虚构的奖励积分 备用标题:Java是JavaScript,就像火腿是仓鼠

5
字母,数字,符号,空格,重复
人们经常会遇到97个ASCII字符。它们分为四类: 字母(共52个) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 数字或数字(共10个) 0123456789 符号和标点符号(共32个) !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 空格(共3个) 空格 ,制表符\t和换行符\n。(我们会将换行符\r\n视为一个字符。) 为简洁起见,我们将这些类别分别称为L,N,S和W。 选择LNSW您想要的字母的24个排列中的任意一个,然后无限重复,以形成自己的编程模板。 例如,您可以选择permutation NLWS,因此您的编程模板为: NLWSNLWSNLWSNLWSNLWS... 您需要基于此模板编写程序或函数,其中: 每个L字母都替换为任何字母(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)。 每个数字N都替换为任何数字(0123456789)。 每个S符号均替换为任何符号(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)。 每个W都将替换为任何空格字符( \t\n)。 基本上,您的代码必须遵循以下模式 <letter><number><symbol><whitespace><letter><number><symbol><whitespace>... 如问题标题所建议的那样,除非您可以根据需要选择四个字符类别的不同顺序。 注意: 类别的替换可以是不同的字符。例如,9a ^8B\t~7c\n]有效地符合模板NLWSNLWSNLWS(\t和\n将它们的字面字符)。 没有代码长度限制。例如1A +2B -and 1A +2B和1A and 1都符合模板NLWSNLWSNLWS...。 符合模板的代码必须执行的操作是接受一个未扩展的ASCII字符,并根据其在上述分类中所属于的类别,输出一个介于0到4之间的数字。也就是说,1如果输入是字母,2数字,3符号和4空格,则输出。输出0如果输入是没有这些(一个控制字符)。 对于输入,您可以选择输入0到127之间的一个数字(包括0和127),代表输入ASCII字符的代码。 您的代码必须具有的输入(作为char代码)和输出对如下所示: in out 0 0 1 0 2 0 3 0 4 0 5 …

14
今天是中心
给定日期作为任何方便格式的输入,请输出一个日历,其中该日期为五周窗口的确切中心。日历的标题必须包含星期几(即Su Mo Tu We Th Fr Sa)的两个字母的缩写。不允许使用三字母或其他缩写。 例如,April 2 2019作为输入,输出应为 Sa Su Mo Tu We Th Fr 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 …

14
破旧的拼字游戏
问题 您被困在树林中的小屋中,只有一个旧的拼字游戏可以娱乐自己。通过检查,您会看到拼字游戏字母非常磨损,以至于每个字母都仅可见。 尽管如此,您还是决定玩游戏。您从书包中取出七个字母并将其放在托盘上,您面临的挑战是确定这些字母可能是什么。 因此,通常,给定点列表会将其转换为任何可能的字符串或字母列表。 拼字游戏瓷砖和发行 2个空白磁贴(得分0分) 1点:E×12,A×9,I×9,O×8,N×6,R×6,T×6,L×4,S×4,U×4 2分:D×4,G×3 3分:B×2,C×2,M×2,P×2 4点:F×2,H×2,V×2,W×2,Y×2 5分:K×1 8点:J×1,X×1 10点:Q×1,Z×1 所以,如果你有个列表[10,10,8,5,1,1,1],然后"QZJKEEE"将是有效的,但"QQJKEEE"不会是有效的(因为在包里只有1 Q瓦) 问题特定规则 您可以假设所有输入都是有效的,并且将始终有7个图块(即,它将不是七个10点图块的列表,也不是9个图块) 您可以假设以前没有从包中拉出任何瓷砖(因此,分布是上述定义的英语瓷砖的标准分布) 您不必生成有效的单词,只需生成有效的字母字符串即可。 只要每个图块都有对应的字母,字符串的顺序就无关紧要。 点数是根据上面定义的标准英语拼字游戏点数得出的。 您可以输出大写或小写,对于空白图块,您可以输出空格字符或下划线“ _” 您的答案可能输出为图块的任何合理表示形式,例如列表,字符串,数组或序列 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例 显然,由于可以输出任何可能的值,因此很难定义严格的测试用例。 某些情况下可能带有有效的返回值: [10,0,10,5,8,8,0] -> "Q ZKJX " [1,1,1,1,1,1,1] -> "EEEEEEE" [1,2,3,4,5,8,0] -> "NDBHKJ " …

9
基于缩进的排序
给定一个大小写相同的字母字符串列表(az XOR AZ),其中每个字符串前面都带有0个或多个空格()字符,输出相同的列表,但字符串在每个缩进级别进行排序。出于排序目的,不同父项下的压痕深度算作不同的列表。 例 如果您输入的是: bdellium fox hound alien aisle wasabi elf alien horseradish xeno irk wren tsunami djinn zebra 您的输出应为 aisle horseradish xeno wasabi alien elf bdellium alien fox hound djinn zebra irk tsunami wren 如果愿意,可以将其视为目录列表,并且需要对每个目录中的名称进行排序。 细节 一个项目可以缩进任意数量的空格。如果缩进的空格与上一项的空格相同,则它属于与上一项相同的排序层次结构。如果缩进更多空格,则这是新的子层次结构的开始。 如果缩进的行比上一行的行少,它会以相同的#或更少的空格链接到其上方最近的子组(例如上例中的辣根,它链接到其上方的wasabi组),因为芥末是它上面的第一个没有比辣根更多的空间) 您必须在输出中保留每个输入项目的缩进级别 禁止在输出中使用制表符 输入的第一行将永远不会缩进 您的程序必须至少处理全部大写和全部小写的字符串之一;它不必同时处理两者。 计分 这是一个代码高尔夫球,因此使用最少字节的答案将获胜。

26
交易所大写
给定两个字母字符串,将每个字符串的大写模式转移到另一个字母上。最少的字节数获胜。 Input: CodeGolf xxPPCGxx Output: coDEGOlf XxppCgxx 这两个字符串都是等长且非空的,只有字母a..z和A..Z。 您可以相对于输入以任何顺序输出两个结果字符串。 您可以将一对字符串表示为一个字符串,并使用非字母单字符分隔符输入和/或输出。 您可以将字符串表示为字符列表或一个字符的字符串,但不能表示为代码点值的序列,除非这些只是您语言中的字符串。 您的输入和输出可能代表不同的字符串。 测试用例: CodeGolf xxPPCGxx -> coDEGOlf XxppCgxx lower UPPER -> LOWER upper MiXeD lower -> mixed LoWeR A A -> A A ABcd EfGh -> AbCd EFgh
35 code-golf  string 

21
木质词,小词
注意:这个问题有些粗鲁的话。 这个经典的Monty Python草图中有一个隐含的难题(您也可以在线准备脚本)。 各种短语被描述为“木质”或“小”,而一个短语被描述为“ PVC”。 给定一个短语,请根据以下列表使用其类型进行响应: woody: gone sausage seemly prodding vacuum bound vole caribou intercourse pert thighs botty erogenous zone ocelot wasp yowling tinny: litter bin newspaper antelope recidivist tit simpkins PVC: leap 规则 如果该输入属于上述列表中的一个,输出应该是woody,tinny或者PVC,相应地。 所有输入均为小写。 上面未列出的短语可以接受任何行为。 答案中最少的字节将获胜。

30
那是很多猴子
在无限猴子定理指出,考虑到无限的时间,一台机器发送的随机字符络绎不绝永远键入任何给定的文本。 在我看来,这是一个挑战的好主意。 处理 为了猴子化字符串A,应采取以下步骤: 取一个空字符串。我们将其称为字符串B。 选择一个统一可随机打印的ASCII字符(范围0x20为到的0x7E字符),然后将该字符添加到B中。 如果A是B的子字符串,则B是我们的猴子化字符串。否则,重复步骤2,直到A是B的子串。 此过程仅是示例,根据您的语言,可能存在更简便的方法。只要获得相同的输出分配,就不需要完全遵循此方法。 挑战 编写一个程序或函数,该程序或函数将给定任何合理格式的非空字符串,然后返回该字符串的猴子化版本。 您的程序实际上只需要为长度为3或更短的输入工作。对于较长的输入,无论有无输出,都允许提早终止。 例 不幸的是,由于该问题的随机性和大量的输出,很难为该问题创建示例。 但是,我可以在Hastebin上为输入提供一个示例hi。 计分 由于这是代码高尔夫球,因此字节数最少的提交将获胜。

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.