Questions tagged «string»

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

20
输出击键
用任何编程语言,创建一个程序,该程序接受输入并设置要在键盘上键入的文本的动画效果。 每个字符之间的延迟应有所不同,以模拟键盘上的真实键入。延迟应为0.1, 0.1, 0.5, 0.1, 0.1, 0.5 ...秒,直到最后一个字符被打印出来。最终输出应留在屏幕上。 您必须覆盖当前文本行,否则无法将文本打印在新行上。 例如,输入“您好,PPCG!再见,地球!” 应生成以下动画(请注意,gif制作工具的采样率较低,因此实际结果略有不同): 由于这是代码高尔夫,因此最少的字节数将获胜。

6
键盘代码到文本!
给定一个字符串和一个数组作为输入,您的任务是输出在典型的移动键盘上键入时输入字符串将打印的文本。在移动键盘中,通过按n次按钮来键入字母,其中n是字母在按钮标签上的位置。因此,22应输出b。 规则 辅助数组将包含字符映射表([" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"])。这将为您节省一些字节。 该#符号将切换大小写。初始大小写会更低。所以2#3应该输出aD。 该0会添加一个空格。因此,202应输出a a。 输入的字符串中将有一个空格(),以在同一数字按钮上开始一个新字母。例如,键入时aa,输入String为2 2。 保证输入的String始终是有效的键盘代码。 输入值 您可以使用您的语言支持的任何方式进行输入。 输出量 您可以按任何方式输出结果。功能return也是允许的。 测试用例 #4440555#666888330#999#66688111 -> "I Love You!" #6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!" #44#27 79990#66#3390#999#332777111 -> "Happy New Year!" 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

11
我只用美元付款
作为标题-尽管是离散的-暗示,我只用美元支付。 挑战 编写一个将字符串作为输入的函数/程序,该字符串是货币值,后跟一个符号。ex) £4.99。然后,将相同的金额返回转换为美元。 输入值 您将获得一个字符串作为输入。它将带有货币符号,后跟一个带两位小数的数字(可能是.00)。用小数点.和/或逗号,分隔数字。以下货币符号将出现在输入中: 欧元:€ 英镑:£ 人民币:¥ 另外,根据货币的不同,会用逗号或小数点将“美元”与“美分”分开: 欧元:#。###,## 英镑:#,###。## 人民币:#,###。## 输出量 您将输入内容从符号确定的货币转换为USD,四舍五入到小数点后两位。输出将采用format格式$#,###.##,如果需要的话,输出的左边当然会有更多数字(编辑:这意味着输出中有任意数量的逗号,就像输入中一样)。我们将使用的货币汇率如下。 您可以假定输入中包含的符号仅是上述(€ £ ¥ . ,)之一-始终有效。 汇率 €1 : $1.10 £1 : $1.37 ¥1 : $0.15 例子 Input: €1,37 £4.00 ¥2,782,122.78 Respective output: $1.51 $5.48 $417,318.42 最后的话 如果您使用上述符号之一(€,£,¥),则可以将它们计为1个字节 这是代码高尔夫,所以最短的代码以字节为单位!
14 code-golf  math  string 

19
截断连续字符到n个长度
挑战 给定输入字符串和整数n-将连续字符的所有游程截断为最大n个长度。字符可以是任何字符,包括特殊字符。该函数应区分大小写,并且n的范围可以从0到无穷大。 输入/输出示例: f("aaaaaaabbbccCCCcc", 2) //"aabbccCCcc" f("aaabbbc", 1) //"abc" f("abcdefg", 0) //"" f("aaaaaaabccccccccCCCCCC@", 4) //"aaaabccccCCCC@" 计分 评分基于使用的字节数。从而 function f(s,n){return s.replace(new RegExp("(.)\\1{"+n+",}","g"),function(x){return x.substr(0, n);});} 将是104分。 打高尔夫球快乐! 编辑:删除语言限制,但我还是很想看看javascript答案
14 code-golf  string 

16
最短的唯一子串
给定(在STDIN上,作为命令行参数或作为函数参数)两个截然不同的非空字符串,查找并返回第一个字符串的最短子字符串,而不是第二个字符串的子字符串。如果不存在这样的子字符串,则可以返回空字符串,返回不是原始字符串的子字符串的任何字符串,或者引发异常。如果要从函数返回,则在这种情况下也可能返回null(或未定义,None等)。如果将多个这样的子字符串捆绑在一起,则您可以返回其中的任何一个。 字符串可以包含任何可打印的ASCII字符。 在STDIN上给出的输入将在每一行上给出一个字符串。根据您的要求,可以在输入末尾添加一个空行。 这是代码高尔夫球,因此最短的有效程序将获胜。 一些测试案例 输入: STRING ONE STRING TWO 输出: E 输入: A&&C A&$C 有效输出: && &C 输入: (两个随机生成的80个字母的字符串) QIJYXPYWIWESWBRFWUHEERVQFJROYIXNKPKVDDFFZBUNBRZVUEYKLURBJCZJYMINCZNQEYKRADRYSWMH HAXUDFLYFSLABUCXUWNHPSGQUXMQUIQYRWVIXGNKJGYUTWMLLPRIZDRLFXWKXOBOOEFESKNCUIFHNLFE 所有有效输出: AD BJ BR CZ DD EE ER EY EY FF FJ FW FZ HE IJ IN IW JC JR JY KL KP KR KV LU MH MI …
14 code-golf  string 

6
将半排序插入未排序的数组
欢迎来到PPCG Inc.的第一天。作为我们最新的初级助理文件分类机,您有责任确保我们发送给您的所有文件都按字母顺序存档。猴子很容易做到。好吧,隐喻地说,就像我们确实雇用了一只猴子来做那样。你猜怎么了?原来猴子对我们的字母缺乏理解。无论如何,现在没有时间修复现在的混乱局面,所以请尽量不要使情况变得更糟,好吗?然后去吧!如果饿了,水冷却器旁会放着香蕉。祝好运! 职位描述 输入值 您将收到一个字符串列表(档案)和一个需要添加到该列表的字符串(文档) 所有字符串将仅包含大写字母,小写字母和空格 字符串始终以字母开头和结尾 任务 确定文档的目标位置:应在存档中接收的位置。目标位置可以如下确定: 对于每个职位: 计算该位置之前存档中字符串的数量(按字母顺序排列) 计算该位置之后档案中按字母顺序排列的字符串数量 将职位的分数定义为以上两个计数之和 文档的目标位置是得分最高的位置 在平局的情况下,所有得分最高的职位均有效地充当目标职位。只需要选择一个。 排序时: 大写和小写字母是等效的 字母前有空格 输出量 以任何形式添加了文档的存档 要么 基于0或1的索引中文档的目标位置 工作评估 最小字节获胜! 示例I / O Archive: Applebuck Season Friendship is Magic The Ticket Master Griffon the BrushOff Boast Busters Bridle Gossip Document: Dragonshy Position scores (0-based index): 0: …

7
把绳子变成风车
该站点上的代码正在迅速耗尽。我们需要投资可再生能源。因此,您必须编写一个使用字符串并将其转换为风车的程序。 挑战 让我们以一个简单的风车弦为例。拿弦abc。该枢纽为中心的性格,在这种情况下b。由于字符串的长度为3个字符,因此每个输出将恰好是三行高和三个字符宽。这是步骤1的输出。(请注意空格) abc 要进行下一步,请顺时针旋转每个字符。这是步骤2: 一种 b C 这是步骤3-8: 一种 b C 一种 b C cba C b 一种 C b 一种 C b 一种 在第九步中,它绕到原始字符串整圈: abc 注意b整个时间都停留在同一地点。这是因为b是关键人物。您必须编写一个将字符串作为输入的程序或函数,并重复打印此序列,直到关闭该程序。 澄清说明 所有输入字符串将具有奇数个字符。(以便每个风车都有一个枢轴) 为了简化挑战,所有字符串将仅包含大写和小写字母字符。 输出必须是len(input_string)宽而高的字符。 只要您继续旋转并永远循环,就从序列的哪一步开始无关紧要。 更多测试IO: 由于帖子已经很长了,因此以下是“ windmill”输出的链接: 边注: 由于这应该是风车,所以如果您包含一些样板代码以使其具有较小的时间延迟或在每个步骤之间由用户输入动画效果,那就太好了。但是,由于某些语言没有内置时间,因此这不是强制性的。您提交内容的竞争部分可以尽快打印序列。

6
缩写的泛化
给定单词列表及其缩写的输入,输出可以形成缩写的模式。 让我们以输入的示例为例 potato ptao puzzle pzze 作为一个例子(即,缩写potatoIS ptao,和缩写puzzle是pzze)。 考虑到所有可能的方法来获得ptao从potato。一种可能的方法是采用第一,第三,第四和第六个字母,我们将其称为 1346。但自从t和o这个词出现多次,还有其他多种可能的方式来产生ptao由potato:1546,1342,和1542。 同样,该说明pzze可从产生puzzle任何的1336, 1346,1436,1446。这两个缩写唯一的共同之处是1346; 因此,该输入必须是此输入的输出。如果有多种可能的模式,则可以输出其中的任何一个,一些或全部(至少一个)。 您可以假设: 输入的单词和缩写仅包含小写字母。 输入中至少有一个单词/缩写对。 每个缩写都有可能由其对应的单词构成。 总是会有至少一个模式构成每个缩写。 每个单词的最大长度为9个字符。 输入可以视为以下任意一项: 二维数组/列表/元组数组等 [[word, abbr], [word, abbr], ...] 平面一维数组/列表 [word, abbr, word, abbr, ...] 单个字符串,由非小写字母的任何单个字符分隔 "word abbr word abbr" 哈希/关联数组/等 {word => abbr, word => abbr, ...} 在这些输入选项中的任何一个中,也都可以交换单词/缩写的顺序(请在您的帖子中完整描述输入格式)。 输出可以是单个数字,由非数字分隔的字符串或数组/列表/元组/等。数字。 由于这是code-golf,因此以字节为单位的最短代码将获胜。 测试用例(请记住,如果多个模式都能工作,则仅需要输出≥1个结果): In …
14 code-golf  string 

2
杂货店微管理
您是一家时尚的新杂货店Half Foods的员工,这是感恩节 圣诞节复活节的前一天。由于商店将挤满顾客争抢食物,因此商店需要交通管理人员将每个人都送到适当的生产线。懒惰,您想使它自动化,以便您可以在所有人都吃掉所有火鸡 火腿之前就去熟食店。但是,随身携带的只是手机,在手机上编写长程序确实是一件很痛苦的事-因此您需要淘汰忍者代码高尔夫技能。 挑战 让我们在二维网格上可视化杂货店。这是要剖析的示例网格: e s s s Y # # #s # #s # #s # #s # #s # #s #s #s # #3 #1 #4 # x x x x 网格以开头e,代表商店其余部分的“插座”。每一代,网格中的所有出口都在s下面直接产生一个购物者()。购物者每一代都向下移动,直到他们到达您(Y)。当购物者到达与您相同的行时,您必须将其传送到购物者最少的行的开头。购物者将与一起进入行时,立即移动到行中Y,两者之间没有生成。这些行由#s 表示-s之后的列#是一行。购物者下到行尾(由exit表示x),然后变成介于1和之间的随机数5。每一代,您都必须减少购物者的数量1-当购物者到达时0,他们已经完成结帐并离开商店。 给定这样的网格输入,输出下一代杂货店(同时将所有购物者放下,将购物者重定向,并在完成后让他们离开)。 样本 输入: e Y # # # # # # # # …
14 code-golf  string  grid 

18
字符串的十进制乘法
给定2个输入(一个字符串和一个十进制数字),输出字符串乘以该数字。 问题是数字可以是浮点数或整数。 您应该先输出字符串floor(n)时间,然后再输出前floor((n-floor(n))*len(string))几个字母。 其他说明: 输入并不总是浮点数,可能是整数。因此1.5、1和1.0都是可能的。不过,它将始终以10为底,如果您希望例外,请发表评论。 输入的字符串可能包含空格,引号和其他字符。没有换行符或控制字符。 没有内置的直接字符串重复功能,甚至'a'*5不允许像python这样的字符串乘法。但是,允许添加字符串。 测试用例: 逗号和空格分隔输入。 test case, 1 -> test case case, 2.5 -> casecaseca (will add more later), 0.3333 -> (will(space) cats >= dogs, 0.5 -> cats > 最后说明: 我看到许多使用内置字符串乘法或重复功能的答案。这不是允许的。@VTC的答案是有效的,因为它不会乘以字符串,而只是乘以浮点输入。因此,最终的规则是:如果直接将字符串相乘,则无法执行。
14 code-golf  string 

6
来信,动起来!铂 2
首字母,动起来!非常受欢迎,但参与度有限。这个问题将更容易解决,但希望在打高尔夫球时能有一些技巧。 只给您提供一串小写字母。对于每个字母,在字母表中的位置m,将其移动,使其从末尾成为第m个字母。如果m的值比字符串的长度长,请将其移到最前面。仅输出完全转换的字符串。 例子: “长颈鹿” 'g'是字母表中的第7个字母,它已经是背面的第7个字母,因此请保留。 “ i”是第9个字母,由于9大于单词的长度,因此它位于最前面,因此字符串变为 igraffe “ r”是第18个字母,就像“ i”一样,它位于前面: rigaffe “ a”是第一个字母,它一直到最后: rigffea “ f”是第6个字母,从背面变成第6个字母: rfigfea 下一个'f'也是第6个字母,因此它也从后面移到第6个字母: rffigea “ e”是第5个字母,从背面到第5个字母: rfefiga “花” 'f'(6)=> flower 'l'(12)=> lfower 'o'(15)=> olfwer 'w'(23)=> wolfer 'e'(5)=> weolfr 'r'(18)=> rweolf “菠萝” 'p'(16)=> pineapple 'i'(9)=> ipneapple 'n'(14)=> nipeapple 'e'(5)=> nipaepple 'a'(1)=> nipepplea 'p'(16)=> pnipeplea 'p'(16)=> …

5
整个字母
整个字母 在此挑战中,您很难记住字母。为了避免这种情况,您可以上下移动字母,直到找到字母为止。 因为您希望代码具有可移植性,所以将使用字母块来编写代码。您的字母块数量有限,因为大多数字母块都被盗了,因此您需要确保代码尽可能短。 例子 输入/输出对由空白行分隔: Ac ABc Ad ABcd fA fedCBA adB abcdcB Hello, World! HGfefghijkllmno, WVUTSrqpopqrqponmlkjihgfed! 挑战 您的目标是将相邻字母与A-Za-z它们之间所有的字母中间字母()链接在一起。如果大小写不同,则应在中间转换大小写。如果资本不能在中间平均转换,则在中间之后分解。如果字符不是字母字符,则不应进行任何转换。 获奖 这是代码高尔夫球,因此以字节为单位的最短代码胜出! -10%奖金:如果您的代码链接数字
14 code-golf  string 

12
所有人都说……
目标给定不包含字符[或的文本输入],请执行以下操作: 对于Amen具有至少一个大写字母的每个实例(因此,所有Amen不包含的实例amen),都输出相同的名称Amen(保留大写)。 对于/all the people said[?: ]/i(这是一个正则表达式)的每个实例,还输出Amen(任何情况都可以)。 在每个输出之后,您可以选择任何常量分隔符,例如换行符,空格或什么都不做。 这是一个代码高尔夫球,因此以字节为单位的最短程序获胜。 IO范例 Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah blah blah* And all the people said? Output: …

22
字符串压缩和排序
给定一个字符串列表,输出一个单个字符串,该字符串是通过从每个位置的每个字符串中提取一个字符,然后按ASCII序号对其进行排序,然后将它们附加到输出字符串中而形成的。换句话说,对于n输入字符串,n输出的第一个字符将是按顺序排序的每个输入的第一个n字符,输出的第二个字符将是按顺序排序的每个输入的第二个字符,因此上。您可以假设这些字符串的长度均相等,并且至少会有一个字符串。所有字符串将仅由ASCII可打印字符组成(序号32-127)。 Python中的参考实现(在线尝试): def stringshuffle(strings): res = '' for i in range(len(strings[0])): res += ''.join(sorted([s[i] for s in strings],key=ord)) return res 例子: "abc","cba" -> "acbbac" "HELLO","world","!!!!!" -> "!Hw!Eo!Lr!Ll!Od" 规则 禁止出现标准漏洞 这是代码高尔夫球,因此最短答案以字节为单位 排行榜 这篇文章底部的堆栈摘录从答案a)生成了排行榜,a)是每种语言的最短解决方案列表,b)则是总体排行榜。 为了确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,可以将旧分数保留在标题中,方法是将它们打掉。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + …
14 code-golf  string 

17
代码高尔夫:转发sdrawkcaB sdrawkcaB转发转发sdrawkcaB
任务 用户输入一个句子-仅单词。除字母或空格外的任何输入(包括整数和标点符号)都应引发异常:“句子只能使用字母”。 输出具有一种模式,其中某些单词是反向的,而其他单词是正常的。 模式从正常单词开始,接下来的两个单词反转,然后接下来的两个单词正常,模式继续。 以下是单词应为正常位置和单词经反转位置的示例: 正常-反转-反转-正常-正常-反转-反转-正常... 输入范例 她在海边卖贝壳 输出范例 她在海岸边偷走贝壳 附加规则 如果使用大写字母,则它们应保留在最初张贴的字母上。 最初在输入上发布的任何多个空格都应减少为一个空格。例如Programming Puzzles and Code Golf变成Programming selzzuP dna Code Golf 最短的代码胜出!! 祝您编程愉快...

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.