Questions tagged «string»

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

24
字符串中的字符不断旋转
(灵感来自PhiNotPi的分形线挑战的初稿。) 您会得到一个width W > 1,height H > 1和一个由2(W+H-2)可打印ASCII字符组成的字符串。任务是从左上角开始按顺时针方向打印此字符串,该字符串缠绕在给定宽度和高度的矩形周围。矩形的内部充满空格。测试用例有望使这一点很清楚。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,然后将结果打印到STDOUT(或最接近的替代方案)或将其作为字符串返回。 不得有前导或尾随空格(除了输入字符串中可能存在的空格之外)。您可以选择输出一个尾随换行符。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。 测试用例 每个测试用例"String" W H后面都有预期的输出。 "Hello, World! " 5 4 Hello , ! dlroW "+--+|||+--+|||" 4 5 +--+ | | | | | | +--+ ">v<^" 2 2 >v ^< "rock beats scissors beats paper beats " 11 10 rock …

15
地形字符串
这是一些示例输入,因此我可以解释问题所在: ((1 2)(3 (4 5) moo)) (i (lik(cherries)e (woohoo))) 可以将这行文字视为一些山脉的地形图。每组括号表示一个高度单位。 如果我们从侧面“查看”,以便垂直看到山脉,我们将看到: 4 5 cherries woohoo 1 2 3 moo lik e i 给定这些地形图之一,请像上面的输出一样以垂直比例输出地图。将地图中的不同项目与下一个项目的字符数分开。例如,输出之间有4个空格moo和i。同样,moo和之间的输入中有4个字符i。 以最少的字符数执行此操作的代码将获胜。

30
字符串X是字符串Y的子序列吗?
给定字符串X和Y,请确定X是否为Y的子序列。空字符串被视为每个字符串的子序列。(例如''和'anna'是的子序列'banana'。) 输入项 X,可能为空,区分大小写的字母数字字符串 Y,可能是空的区分大小写的字母数字字符串 输出量 True或False(或等效项),正确指示X是Y的子序列。 I / O实例 X Y output '' 'z00' True 'z00' 'z00' True 'z00' '00z0' False 'aa' 'anna' True 'anna' 'banana' True 'Anna' 'banana' False 标准 最短的程序获胜,这取决于源代码的字节数。 示例程序 与此相关的帖子中有几种可以改编的程序。
23 code-golf  string 

17
迷宫
阿斯图里亚斯国王筒仓的墓地里刻有一个字样:SILO PRINCEPS FECIT(国王筒仓为此)。 第一个字母位于中间,从那里沿任何非对角线方向向外辐射阅读。最后的字母位于所有四个角。在这个挑战中,您将概括化制作它们的过程。 输入项 字符串(或等效字符串)和整数。您可以对输入做出以下假设: 该字符串的长度将为奇数。 整数将是小于字符串长度两倍的1到1之间的奇数。 输出量 字符串的字面迷宫,使用整数作为高度或宽度(有关高度示例,请参见模型)。输出应为每个字母,不带空格,默认情况下,系统/语言均使用换行符。 测试用例 请注意,输入1或(长度* 2-1)将导致水平或垂直回文。 Input: FOO, 3 Input: BAR, 1 Input: BAR, 3 Input: BAR, 5 Output: OOO Output: RABAR Output: RAR Output: R OFO ABA A OOO RAR B A R Input: ABCDE, 5 Input: ABCDE, 3 Input: *<>v^, 5 …
22 code-golf  string 

22
重叠的字符串块
挑战: 给定多行字符串的列表,将它们重叠(在左上角)并输出结果。 例: 输入:["aaaa\naaaa\naaaa\naaaa","bb\nbb\nbb","c"] 输出: cbaa bbaa bbaa aaaa 挑战规则: 输入格式灵活。允许您以2D行列表(即[["aaaa","aaaa","aaaa","aaaa"],["bb","bb","bb"],["c"]])或3D字符列表(即)获得输入[[["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["a","a","a","a"]],[["b","b"],["b","b"],["b","b"]],[["c"]]]。您可以通过STDIN一对一地接受所有输入。等等。 输出格式严格。您可以选择打印或返回多行字符串。(如果您的语言没有任何字符串,则可以选择将其输出为2D字符列表。但前提是您的语言完全没有字符串。) 输入列表的顺序当然很重要(但是,如果选择这样做,则可以反向输入)。 输入将只包含在Unicode范围可打印ASCII [ 33 ,126 ][33,126][33,126](!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)。 输入将仅是矩形(因此没有奇怪的形状)。不过,输出不是必需的矩形。 尾随空格和单个尾随换行符是允许的。前导空格和/或换行符不行。 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: 输入:["aaaa\naaaa\naaaa\naaaa","bb\nbb\nbb","c"] 输出: cbaa bbaa bbaa aaaa 输入:["12345\n54321","00\n00\n00\n00","001\n011\n012"] 输出: 00145 01121 012 00 输入:["sm\noo\nmr\nee\nt!\nh_\ni_\nn_\ng_","!@#$%^\n&*()_+\nqwerty\nuiopas","this\nis_a\ntest"] 输出: this%^ is_a_+ testty uiopas …

18
播放Zip,Zap,Zop
有一个临时改进的热身游戏,您可以将自己排列成一个圆圈,并通过指向一个人并说出序列中的下一个单词来发送拉链,快速键和快速键,然后他们进行相同的操作,直到所有人热身或随你。 您的任务是创建一个程序,该程序在给定输入单词的情况下按顺序给出下一个单词。(Zip-> Zap-> Zop-> Zip)由于可以使用多种不同的方式来表达这三个单词和风格,因此程序应模仿大小写和字母重复并带有后缀。 详细地说,您输入的内容将是一个或多个Zs,然后是一个或多个Is,As或Os(都相同的字母),然后是一个或多个Ps(到目前为止所有字母都可能是混合大小写),然后是一些任意的后缀(可能为空)。您应该完全保留Zs和Ps的行程以及后缀,但应将s 更改为Is,将As 更改A为Os,或将Os更改为Is,以保留大小写。 示例测试用例 zip ==> zap zAp ==> zOp ZOP ==> ZIP ZiiP ==> ZaaP ZZaapp ==> ZZoopp zzzzOoOPppP ==> zzzzIiIPppP Zipperoni ==> Zapperoni ZAPsky ==> ZOPsky ZoPtOn ==> ZiPtOn zipzip ==> zapzip zapzopzip ==> zopzopzip zoopzaap ==> ziipzaap 规则和注意事项 您可以使用任何方便的字符编码进行输入和输出,前提是该字符编码支持所有ASCII字母并且是在此挑战之前创建的。 您可以假设输入单词是Zip,Zap或Zop的某种变体。所有其他输入都会导致未定义的行为。 有效输入将完全匹配正则表达式Z+(I+|A+|O+)P+.*(混合使用) 高尔夫快乐!
22 code-golf  string 

30
字符串旋转-输出字符串重复将第一个字符移到末尾
这里的挑战是要取一个字符串并输出其所有旋转值,方法是将第一个字符重复移动到末尾,每个字符串中的每个字符一次,以原始字符串结尾: john -> ohnj, hnjo, njoh, john 您也可以从另一个方向循环移动字符: john -> njoh, hnjo, ohnj, john 即使在此之前到达原始单词,您仍然应该每个字母旋转一圈: heehee -> eeheeh, eheehe, heehee, eeheeh, eheehe, heehee 字符数组是允许的,只要结果如上所示即可。 最短答案胜出!
22 code-golf  string 

28
做一个简单的自动包装
(注意:这是我有史以来第一个关于高尔夫的代码问题,但是据我所知,没有人能完全做到这一点,所以我应该很好。) 您的任务是制作一个程序或函数,该程序或函数接受一个字符串s和一个整数n,并返回或输出包装成多行的文本。每个单词必须全部在一行上;即中间没有字。每行的n字符长度不能超过字符,并且每行中必须包含尽可能多的单词。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

23
ASCII艺术八边形
给定输入整数n > 1,输出边长由n字符组成的ASCII八角形。请参阅以下示例: n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

9
从字面上看CR和LF
为了庆祝好旧的记事本,我们将把回车符和换行符视为它们的原始含义,而不是它们今天所使用的含义。 鉴于由可打印的ASCII加换行符的字符串(␊; LF; ESC \n;十六进制0A; 12月10日)和回车(␍; CR; ESC \r;十六进制0D; 12月13日),因在线试用说明如何使用可打印字符如果在使用字面意义上的那两个控制字符的打印机上进行打印,将被定位: 换行后,继续向下打印一行 回车后,继续从左侧打印 多个连续的回车符的行为类似于单个回车符 由于现代设备存在过行程问题,除非输入至少在输入之前和/或之后,否则不会发生一次或多次回车,除非在输入开始时。但是,两次回车可以通过换行分隔。 只要至少保留输入中给定的空白量,无论在任何行的右侧还是在整个文本下方,任何数量的附加尾随空白都是可以接受的。 示例(将\n和\r用于换行和回车) Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, consectetur adipiscing\nelit, sed consectetur adipiscing elit, sed do eiusmod\r\ntempor incididunt\n\n ut labore do eiusmod tempor incididunt ut labore et dolore\n\rmagna \r\r\naliqua. Ut (注意尾随空格) et …

12
三元三角形
这个想法主要来自BIO 2017 q1。我从Binary Sequences挑战中提出了发布此挑战的想法,因为很多人似乎都喜欢它。 另外,这是我没有在沙箱上发布的第一个挑战。如果没人喜欢,我将其删除。 规则 取三进制数字序列(基数为3);这可以是字符串,数组或数值以及前面的零的数目。 对于三角形中的每一行,都会生成下面的一行,直到最后一行只有一位为止。要查找其他两个数字以下的数字,如果上面的其他两个数字相等,则该数字将与其上方的两个数字相同。否则,它将是不等于它们中任何一个的数字。这是一个例子: 0 0 1 2 0 1 2 2 0 2 0 1 2 0 2 1 1 2 0 1 1 1 0 1 2 1 2 2 0 0 2 1 0 0 2 1 您只需要返回最后一行。 使您的代码简短。 测试用例 0 -> 0 …

3
失踪人数修订
背景: 我最初是在昨晚发布此问题,并因其模糊性而遭到强烈反对。从那以后,我不仅就问题的措辞,而且就其复杂性(不是O(1))咨询了许多人员。这个编程问题是对亚马逊面试问题的一个恶性循环。 题: 给定一个字符串,其中包含0至250个互斥的随机串联整数[0,250),序列中缺少一个数字。您的工作是编写一个程序,该程序将计算此丢失的数字。除了一个之外,序列中没有其他遗漏的数字,这就是使此问题如此困难,甚至可能使计算困难的原因。 手动在较小的String上完成此问题,例如下面的示例1和2显然很容易。相反,在涉及三位数或四位数数字的庞大数据集上计算缺失数将非常困难。该问题背后的想法是构造一个程序,它将为您执行此过程。 重要信息: 昨晚我发布此问题时,看起来很困惑的一件事是:确切的数字定义为。缺少的数字是上述指定范围内的数字;不一定是数字。在示例3中,您会看到丢失的数字为9,即使它出现在序列中。DIGIT 9将在三个[0,30)系列中出现3个位置:“ 9”,“ 19”和“ 29”。您的目标是对它们进行区分,并发现9是缺少的NUMBER(在示例3中)。换句话说,棘手的部分在于找出哪些数字序列是完整的,哪些序列属于其他数字。 输入: 输入是字符串S,包含从0到249(含)或0到250(不含)(即[0,250))的整数。如上所述,将这些整数加扰以创建随机序列。没有分隔符(“ 42、31、23、44”)或填充0(003076244029002);问题完全与示例中描述的相同。保证实际问题中只有一种解决方案。不允许使用多种解决方案。 获奖标准: 谁拥有最快和最低的内存使用率将是赢家。如果发生时间中断的奇迹,则将较低的内存用于时间限制器。如果可以,请列出Big O! 例子: 示例1和2的范围为[0,10) 示例3和4的范围为[0,30) (示例1-4仅用于演示。您的程序无需处理它们。) 示例5的范围为[0,250) 1. 420137659 - Missing number => 8 2. 843216075 - Missing number => 9 3. 2112282526022911192312416102017731561427221884513 - Missing number => 9 4. 229272120623131992528240518810426223161211471711 - Missing number => 15 …

15
推倒一些多米诺骨牌!
感谢这个问题的启发 在这个挑战,我们将代表一行多米诺骨牌作为串|,/和\。您将获得一串多米诺骨牌作为输入,并且必须确定它们安定后的样子。这是多米诺骨牌掉落的规则 |左下降的多米诺骨牌左侧的立式多米诺骨牌\也将变为左下降的多米诺骨牌。 |正确的多米诺骨牌的立式多米诺骨牌/也将变成正确的多米诺骨牌。 如果站立的多米诺骨牌介于左\下落的/多米诺骨牌和右下落的多米诺骨牌之间,它将保持站立状态。 重复应用这些规则,直到排列不再更改。 这是单个输入如何得出结论的示例 |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| 您的任务是编写查找并输出输入最终结果的代码。您可以假定输入始终有效,并且至少包含2个字符。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

8
我是对称的,不是回文!
背景 受到我的回文启发。你是?在这里,令人震惊的事实是“ ()()不是回文,而是())(”,我问自己是什么()(),答案很简单:它是具有垂直对称轴的字符串! 任务 编写一个程序或函数,该程序或函数将字符串S(或您的语言中适当的等效语言)作为输入,检查沿垂直轴的对称性,并相应地返回真实或虚假值。您可以使用任何合理的方式获取输入并提供输出。 反射对称 围绕垂直轴的反射对称性(或左右对称)意味着,如果将镜子垂直放置在字符串的确切中心,则字符串前半部分的反射图像与字符串后半部分相同。 例如,以下字符串围绕垂直轴反射对称: ()() ()()() [A + A] WOW ! WOW OH-AH_wx'xw_HA-HO (<<[[[T*T]]]>>) (:) )-( ())(() qpqp 而以下不是: ())( ((B)) 11 +-*+- WOW ! wow (;) qppq 比赛规则 •您的程序或函数将仅接收可打印的ASCII字符。您可以包含或不包含空字符串(当然是对称的!)作为合法输入,这对您来说更好。 •可以认为相对于垂直轴对称的ASCII字符如下(请注意初始空间以及大小写字母之间的差异): !"'+*-.:=AHIMOTUVWXY^_ovwx| 可以视为“镜像”的ASCII字符及其对应的字符为: ()<>[]{}qpbd/\ 需要注意的是,因为他们镜像,你可以同时拥有(),以及)(,/\和\/等。 所有其他ASCII可打印字符必须被认为是非对称的,并且没有镜像的对应字符。 •这是一个代码挑战:用任何编程语言,以字节为单位的程序越短,越好。 •对将产生对称程序的人表示敬意! 注意:这个问题不是“便捷回文”的重复,它需要检查回圆括号中是否翻转的回文字符串,这个问题有所不同,原因有两个: 1)对于非括号字符,这是另一个问题的限制,因为只有对称字符可以相反的顺序出现。 2)因为它基于对称性概念,而不是基于“方便回文”的概念,所以镜像字符可以同时出现,即[]和][,这使得解决该问题的程序不同于解决其他问题的程序。
22 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.