Questions tagged «string»

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

1
更大,更好(破碎)的拉链
(受此挑战启发很大) 在最初的挑战中,您要制作一个水平拉链,但是,低头看我的连帽衫,我的拉链更加垂直(并且有点破损):P 输入项 系统会为您提供单个字符串(s)和任意格式的一对整数(a和b)。哪里: a < (length-of-s / 2) b <= ((length-of-s / 2) - (a + 1)) / 6 输出和计分 您的程序可以是完整程序,也可以是产生具有正确格式的单个字符串或所选数组(每行一项)的函数。只要输出的字符全部对齐,前导和尾随空格以及换行符是可选的。例如。 ["f r"],["u e"],["l p"],["l p"],["y i"],[" o z "],[" p n "],[" e "] 要么 "f r\nu e\nl p\nl p\ny i\n o z \n p n \n e …

2
单词链重装
这是“ 播放单词链”和“ 构建长单词链”的一种变体。 输入内容是一个非空的唯一单词列表,该单词由[az]中的字符组成,至少2个字符长。您需要输出可能的最长链的长度,其中每个后续单词均以前一个单词的最后一个字母开头。您可以以列表中的任何单词开头。 另一个错误是允许您重复列表上的任何单个单词。但是,您不能重复任何两个单词的块。例如, cat->tac->cat允许,但cat->tac->cat->tac不允许,因为您重复了两个单词的块(cat->tac)。另外,您不能连续两次使用相同的单词(例如eye->eye)。 例子: cat dog tree egg => 3(猫->树->蛋) new men ten whim => 5(十个->新->异想天开->男人->新) truth fret heart his => 5(fret-> truth-> heart-> truth-> his) we were stew early yew easy => 9(炖->被->早->红豆->被->简单->红豆->我们->简单) tac cat tac cot tac can => 6(tac-> cat-> tac-> cot-> tac-> can) …

5
ASCII 2D游戏地图
问题 给定输入a,其中a是任何输入格式的字符网格,只要对于输出的每个“块”仅具有一个元素即可。 输入b,其中b是与input 大小相同的数字网格a。 道路有两种类型,a代表标有石路,@而2代表标有土路。# 甲@路在块中心的并且大小6x6的,如果道路是相邻的,该侧延伸到网格小区边界 甲#路在块中心的是4×4大小,如果道路是相邻的,该侧延伸到网格小区边界 在输入中输出ASCII字符的行号为8x8的网格偏移量,a并覆盖输入的“道路”,b例如 输入项 a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]] 输出: 步骤1:网格(input的8x8表示a) aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb bbbbbbbbaaaaaaaabbbbbbbb aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa aaaaaaaabbbbbbbbaaaaaaaa 第2步:用表示的道路覆盖b: aaaaaaaabbbbbbbbaaaaaaaa a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@@@@@@@@@@@@@@@@@a a@@@@@@abbbbbbbba@@@@@@a bb####bbaaaaaaaab@@@@@@b bb####bbaaaaaaaab@@@@@@b bb####bbaaaaaaaab@@@@@@b bb####bbaaaaaaaab@@@@@@b …

6
印刷纵横交错的两根弦
给定一组保证长度相同的两个字符串,请打印其十字形。 两根弦的十字交叉如下。 产生第二个字符串的第二个字符,然后是第一个字符串的第一个字符。 产生第二个字符串的第一个字符,然后产生第一个字符串的第二个字符。 丢弃每个字符串的第一个字符。 如果每个字符串都有多个字符,请返回步骤1。 例如,如果两个字符串是 Truck Tower 该十字交叉是 oTTrwroueuwcrcek 如下图所示。 每种颜色代表不同的纵横交错。数字显示输出中相应字符的索引。

8
你喜欢跆拳道吗?
崔弘喜于2002年6月15日去世,享年83岁。他创立了跆拳道。 他去世15年后,我想成为一名跆拳道大师。这是我的光芒! 任务 给定一个字符串,您应该输出跆拳道版本。 规则 您将通过任何有效的输入收到一个非空的字符串/句子 您必须用修订的罗马化等效项替换每个标题(不区分大小写)。 您必须, *side kick*在句子末尾加上,因为我喜欢做侧踢。 您必须将此更改后的句子输出为字符串。 这是 代码高尔夫球 您应该努力减少答案的字节数 例子 "I am a Student and I do Taekwondo twice a week" => "I am a Geup and I do Taekwondo twice a week, *side kick*" "I am a Teacher willing to be a President" => …

6
盯着位
用椭圆和棍棒打印二进制值不是一件容易的事...为了帮助实现这一点,您必须编写一个以自定义二进制表示形式打印数字的函数(或程序)。 因此,我想取一个数字,例如3(00000011),并以用户定义的格式输出位,例如以空格分隔的对: 00 00 00 11 或者说,以相反的顺序并带有一些装饰器,例如: 11_00_00_00 此外,必须有可能将“ 0”和“ 1”显示为自定义字符,以更好地区分它们,例如: XX oo oo oo 因此,面临的挑战是编写在以下规范中做到这一点的代码。 规格 该函数接受如下输入: f(A,mask,zeros,one) 参数: A-输入数字-0-255范围内的任何(无符号)整数。 mask-一个字符串参数,用于定义输出的结构。 零 -长度相同的字符串,为每个输出插槽定义``零''字形。 那些 -的长度相同的字符串,对于每个输出时隙定义“一”字形。 输出构造规则: 仔细查看该图像,并结合示例了解如何生成输出: 因此,仅解析掩码中的单个数字,并用A的相应位代替,其他字符则保持原样。此外,如果采用位的值为1,则在最终输出中显示为“ X”,如果为0,则显示为“ o”。在上面的示例中,所有四个位均为“ 1”,因此我们在所有时隙中看到“ X”。 如果输入数字为128,则在逻辑上输出为X foo bar ooo。参数“零”和“一”中的字符:任何可打印的ASCII字符,假定它们始终与掩码字符对齐。 注意事项: 位从0开始索引:第0位是MSB。 假定掩码字符串中不允许使用数字8,9。 输入字符串包括任何可打印的ASCII字符。 “零”和“一个”与遮罩对齐。 对于您语言中的特殊字符/修饰符:我们可以假定它们不会出现在输入字符串中。 为了清楚起见,请参见更多示例。 输入->输出示例 用空格定界符以通用顺序输出所有8位,并以普通的椭圆和棍子符号表示: mask = "0123 4567" …

4
爱丽丝的序数格式
介绍 爱丽丝(Alice)是马丁·恩德(Martin Ender)的一种二维语言,具有两种不同的执行模式:基数和序数。当指令指针通过一面镜子(/或\)时,它会从一种模式切换到另一种模式。 在此挑战中,我们将重点关注顺序模式,在命令模式下,命令对字符串进行操作,并且指令指针沿对角线移动,并在代码边缘跳动。 可以以非常紧凑的样式编写仅以序数模式运行的简单程序,如以下示例所示: /fbd/ @aec\ 在这里,IP在基数模式启动从所述第一小区去东,通过第一反射镜,并开始对角移动和跳动,执行命令a,b和c。然后,它遇到了东北镜这使得南下向其他镜像,然后开始反弹向西走回来,遇到命令d,e,f,最后@,终止程序。 这种结构非常紧凑,但是编写和维护起来并不容易(添加单个命令可能会迫使我们对大多数代码进行重新排序!),因此,我希望您能帮助我进行格式化。 任务 给定一个命令序列,其中每个命令是一个可打印的ASCII字符,请在两行上对其重新排序,以便可以从第二行的第一个字符开始读取该序列的前半部分,然后始终向右斜移,而后半部分则可以从右到左读取其余字符。不用担心镜子和终止符号,我会自己添加它们。 因此,例如,给定输入,abcdef您应该输出 fbd aec 如果输入的长度是奇数,则只要遇到的命令顺序保持不变,就应该在任何地方添加一个空格(在Alice中为noop)。您也可以选择输出两行长度相差一个字符的字符,在这种情况下,较短的行被认为在末尾有一个空格。 规则 这是 代码高尔夫球,最短答案(以字节为单位)获胜! 您可以通过任何默认的输入/输出方法来输入/输出 输入由一行可打印的ASCII字符组成 输出中允许使用一条尾随换行符 当作为Alice程序运行时,程序的某些输出可能没有完全正确的行为(例如,如果在字符串文字中插入了填充空间)。您不必担心这些情况 禁止出现标准漏洞 测试用例 --Input abcdef --Output fbd aec --Input 123 --Output 2 13 OR 31 2 OR 3 12 OR 32 1 --Input O --Output O OR O --Input …

13
创建自己的红色和黑色
在悲惨世界的音乐作品中,有一首歌叫《红与黑》。这是这首歌的一部分: 红色-愤怒的人的鲜血! 黑色-过去的黑暗! 红色-一个即将黎明的世界! 黑色-最后的夜晚! 资源。 您的任务是将输入转换成响亮的“红色和黑色”国歌。 输入项 用换行符分隔的文本,或类似的合适文本输入。例如, The blood of angry men! The dark of ages past! A world about to dawn! The night that ends at last! 空输入未定义(超出范围)。 输出量 如果输入的长度(行数或输入数组的长度,或类似值)是奇数,则不输出任何内容或输出false。您提交的内容可能不会输出错误,也不会尝试输出正确的输出。 否则,将输入变成红色/黑色歌词。将行首的所有大写字母变为小写。添加Red加一个分隔符的奇数行的前面,Black加上一个(可见)分隔符的偶数行的前面。定界符也必须用空格包围,因此输出看起来是不拥挤的(和松散的;)。 现在您有了输出。 测试用例 输出定界符为-。 In: The blood of angry men! The dark of ages past! A world …

10
弦的旋转对称
旋转“是通过将字符串分成两部分并颠倒其顺序进行的”。如果对象在应用操作之后未更改,则该对象在操作下是对称的。因此,“旋转对称”是字符串在“旋转”之后保持不变的事实。 给定一个非空字符串,该字符串s仅包含从a到的字母z,输出该字符串旋转对称性的最高顺序。 测试用例: input output a 1 abcd 1 abab 2 dfdfdfdfdfdf 6 这是 代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

11
创建变量组的每个组合,最高可达n
规格 给定m变量,按order创建每个组合n。例如, 将两个变量(a和b)映射到顺序的输出为1: 一个 b b 将两个变量(a和b)映射到顺序的输出为2: 一个 一个2 b b 2 b 一个2 b 抗体2 a 2 b 2 将两个变量(a和b)映射到顺序的输出为3: 一个 一个2 一个3 b b 2 b 3 b 一个2 b 一个3 b a 3 b 2 抗体2 腹3 a 2 b 3 a 2 b 2 a 3 …

11
与通配符序列匹配的所有正方形
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 这是受2016 ARML竞赛团队问题#6的启发。 这是挑战: 您将获得一个“通配符序列”,它是一个数字序列和另一个字符。字符串通过以下伪代码匹配此通配符序列: w = wildcard s = string # s matches w iff for all 0 >= i > wildcard.length, w[i] == '?' or s[i] == w[i] 哪里?是您选择的角色。 就正则表达式而言,只需想象'?'是'.'。 挑战在于找到所有十进制字符串表示形式都与该通配符序列匹配的平方数(要求最大为100万)。很明显,“通配符”可以是您选择的任何ASCII字符,只要它不是数字即可。 例如,4096匹配4**6和,4*9*但4114都不匹配。 输入项 输入将作为与regex匹配的序列给出[0-9?]+。它可以是ASCII字符的字符串,字符数组或字节数组。 输出量 输出将是一个任意分隔的数字列表/集合/数组,它们是完美的平方并与通配符序列匹配。 有效输入的示例: 1234567*90 1234567?90 1234567u90 ['1', '2', '3', '4', '5', '6', …

4
等距括号类型
基于 这个问题。 给定一个字符串,将每个括号替换()[]{}<>为适当类型的括号,以使括号匹配,并且嵌套括号循环如下: 最外面的是 () 直接的内()应[] 直接的内[]应{} 直接的内{}应<> 直接在内<>将()再次出现(周期) 所有非括号字符必须保持原样。开括号只能用某种类型的开括号替换,而闭括号则要用闭括号替换。 输入将始终使之成为可能。这意味着如果忽略其类型,则其括号正确匹配。所以,{ab<)c]是一个有效的输入,但ab)(cd还是ab((cd没有。 例子: 2#jd {¤>. = 2#jd (¤). abcdef = abcdef (3×5+(4-1)) = (3×5+[4-1]) <<<>><<>><<<<<<>>>>>>> = ([{}][{}][{<([{}])>}]) 不允许使用这种方式对输入进行本机转换(语言的自动语法)。 与往常一样:最短的代码获胜。

2
2D地牢爬行者
您的程序必须采用多行字符串,如下所示: ############# # # # p # # # ############# p是玩家,#是一个障碍。 现在在终端下应该是一条输入行,上面写着: How do you want to move? 如果玩家键入l必须在没有障碍物的情况下向左走,否则,在存在障碍物的情况下,他将无法通过并且当然也不会移动,因此现在必须更新终端中的输出(并且先前的输出已清除/覆盖): ############# # # # p # # # ############# 他可以输入l左,r右,u上和d下。 输入将始终为多行,但不会始终用空格填充为理想的矩形。另外,散列可以在字符串中的任何位置,并且不会始终相互连接。例如: ## ## # # ## p # 是有效的地牢。(请注意,每行上都没有尾随空格) 如果玩家不在字符串范围内,则不必显示他。但是,如果他稍后再来,则必须再次显示。 字符串“外部”的边界是length(longest_line)by number_of_lines矩形,因此即使一行没有在右边填充空格,该位置也不会被视为超出范围。使用早期地下城的示例: ## ## # #p ## # 第二行现在的p没有空格,但这没关系。 最后,您的程序必须永远循环以获取输入。 测试用例 …

6
打印一个唱歌的天使
保持节日主题不变,以尽可能短的代码打印颂歌天使。天使为无家可归的人筹集资金,因此必须能够按要求演唱以下所有三首歌。为了说明她可以唱歌,歌曲的标题必须放在气泡中。该歌曲标题将由用户输入。示例包括: 圣母玛丽 铃儿响叮当 平安夜 输入: 标题:3首歌曲中的1首。 输出: ____________ (\ ___ /) / \ ( \ (‘o‘) / ) / \ ( ) < ( ‘> <’ ) \ / / \ \____________/ / \ ‘ – “ - ‘ 请粘贴您演唱天使的结果以及歌曲“ Silent Night”。 语音气泡规则: 对话气泡必须始终具有12个下划线行的框架。 歌曲的标题必须始终从第二行开始。 歌曲的标题必须始终在气泡内的3个下划线空格开头。 123456789... (\ ___ /) …

2
将无点转换为有点
作为一名Haskell黑客,我更喜欢无意义的符号而不是有意义的符号。不幸的是,有些人发现难以理解的无点符号,而当我用有针对性的方式编写时,我发现很难获得正确的括号数量。帮我将用pointfree编写的代码转换为有意义的符号! 关于 在无点表示法中,我们使用点(是的,确实)将一个函数的输出馈送到另一个函数。说,如果您有一个succ将数字加1的函数,并且想制作一个将数字加3的函数,而不是这样做: \x -> succ(succ(succ(x))) 您可以这样做: succ.succ.succ Pointfree仅适用于带有单个参数的函数(无论如何,在这个挑战中),因此,如果我们的函数不是succ,而是add采用2个数字并将它们相加,我们将不得不向其提供参数,直到只剩下一个: pointful: \x -> add 1(add 1(add 1 x)) pointfree: add 1 . add 1 . add 1 最后,函数可以将其他函数用作参数: Pointfree: map (f a . f b) . id Pointful: \x -> map (\x -> f a (f b x)) (id x) Javascript …

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.