Questions tagged «string»

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

24
请给我勺冰淇淋
请给我冰淇淋蛋筒 在新英格兰,我们有很多很棒的冰淇淋店。他们大多数现在冬天都关闭了,所以... .-@@-. (======) (--------) (==========) (__________) \/\/\/\/\/ \/\/\/\/ \/\/\/ \/\/ \/ 目标 准确输出上述冰淇淋蛋筒。(或从函数返回) 这是代码高尔夫球,所以最短答案胜出

16
发生率最高还是最低?
挑战: 输入: 包含可打印ASCII的字符串(不包括空格,制表符和换行符) 布尔† 输出: 字符串的部分分为四组: 小写字母 大写字母 位数 其他 基于布尔值,我们要么输出这四个组中一个(或多个)中出现次数最高的一个,要么输出最低的,将所有其他内容替换为空格。 例如: 输入:"Just_A_Test!" 包含: -3个大写字母:JAT -6个小写字母:ustest -0个数字 -3个其他:__! 这些将是true或的输出false: true: " ust est " // digits have the lowest occurrence (none), so everything is replaced with a space false: " " (注意:您可以忽略尾随空格,因此输出也可以分别为" ust est"和""。) 挑战规则: 输入将永远不会为空或包含空格,并且只能由范围为33-126或'!'到的可打印ASCII组成'~'。 如果需要,可以将输入和/或输出作为字符数组或列表。 †允许布尔值有两个一致且不同的值:true/ false; 1/ …
13 code-golf  string 

2
构建比赛支架
给定一个非空字符串的输入列表,请根据以下绘制规则输出比赛的ASCII艺术表示形式: 字符串数保证为数量 2,4,8,16,etc. 前两个字符串互相演奏,后两个字符串互相演奏,依此类推。这是第一轮。 对于每个游戏,均等概率随机选择获胜者。 对于下一轮,第一场比赛的获胜者扮演第二场比赛的胜者,第三场比赛的胜者扮演第四场比赛的胜者,依此类推。随后的回合遵循该模式。 最终有一个总冠军。 为了获得漂亮的输出(必需),必须在所有字符串之前加上一个下划线_。 为了使方括号正确对齐,必须在每个条目中填充每个条目_的长度相同。 您可以选择填充是预先添加还是附加,只要一致即可。 取而代之的是,您可以选择将所有字符串预填充为相同的长度,而不是每回合一次。以您的代码为准。 进一步规则 前导或尾随的换行符或空格都是可选的,只要字符本身正确对齐即可。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 城市示例['Boston', 'New York', 'Charlotte', 'Atlanta', 'St. Paul', 'Chicago', 'Los Angeles', 'Phoenix']: _Boston______ \_New York____ _New York____/ \ \_New York_ _Charlotte___ / \ \_Charlotte___/ \ _Atlanta_____/ \ \_St. Paul_ _St. Paul____ / \_St. …

9
凯撒的转变
描述 凯撒移位(Caesar Shift)是一种非常简单的单字母密码,其中每个字母都被替换为字母中的一个字母。例: Hello world! -> IFMMP XPSME! (IBSLR, EGUFV!是实际挑战的输出,这是移动1的示例。) 如您所见,空格和标点符号保持不协调。但是,为防止猜测消息,所有字母均大写。通过将字母向后移,可以解密该消息,很方便,但是真的很容易被不知道该消息含义的其他人解密。 因此,我们将通过使用一种高级形式的密码来帮助Caesar:Self-shifting Caesar Shift! 挑战 您的任务是编写一个程序或函数,给定要加密的字符串,然后输出与输入相对应的加密字符串。先进的Caesar Shift的工作方式如下: 1. Compute letter differences of all adjacent letters: 1.1. Letter difference is computed like this: Position of 2nd letter in the alphabet -Position of 1st letter in the alphabet ======================================= Letter difference 1.2. …

3
引用我的报价!
甲报价是“一种表达的重复作为另一个的一部分”。在美式英语中,引号与双引号(“)一样,如上一句话。但是,当引号出现在另一个引号内时,此规则有所不同。在这种情况下,内部引号由单引号引起来(')。 挑战 给定一个字符串作为输入,请通过交换用于内部引号的双引号和单引号来输出该字符串的引用版本。 不过,只有一个问题-并非所有的单引号都用于引号!对于此挑战,当且仅当以下情况下,才使用单引号引起来: 标记之前是非字母数字字符,或者 标记后跟非字母数字字符,没有空格 报价中使用的标记必须保证平衡;也就是说,您不需要处理无效的输入。此外,双引号将仅在单引号可用于表示引号的情况下使用。 测试用例 A man, a plan, a canal, Panama. "A man, a plan, a canal, Panama." Socrates once said, "An unexamined life is not worth living." "Socrates once said, 'An unexamined life is not worth living.'" @musicman523 said, "Socrates once said, 'An unexamined life …

8
找到所有的字谜和子字谜!
这个问题很大程度上是基于这个问题,但是应该带来许多其他困难。 你的任务 您必须编写一个程序或函数,该程序或函数在接收到字符串时会打印出所有可能的字谜。出于这个问题的目的,一个字谜是一个字符串,它包含与原始字符串相同的字符,但不是原始字符串。子字谜是输入字符串的子字符串的字谜。字谜和子字谜不一定是或包含实际单词。 输入值 您可以通过任何标准输入法接受长度大于0的字符串。它可以包含任何ASCII字符。 输出量 您可以以任何标准方式输出输入字符串的所有可能的字谜和子字谜。您不得输出相同的字符串两次,也不能输出与输入相等的字符串。 其他规定 不允许使用标准漏洞 计分 这是代码高尔夫球,最少字节获胜。

3
读取密码:在手机上!
由于MD XF最近面临的挑战,我们现在可以读取许多不同语言的密码!问题是,现在我们需要将我们的应用程序移植到移动设备,并且它们的密码输入有所不同。 挑战 从键盘上读取一个字符串。 每次k输入一个字符时,都要短时间显示。 时间间隔过去之后,或者用户输入了另一个字符,请替换k为c。 规则 c必须恒定;它必须是相同的字符。 c 可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。 c不能基于任何输入k; c必须在k读取第一个之前定义/常量。 c 每次运行程序时都必须相同。 ck只要遵守所有其他规则,它就可以是偶然给出的值之一。 您必须k实时打印。用户输入新内容后k,您必须立即显示它。 k更改为最终用户之前应该对最终用户可见c;时间间隔不得少于0.5秒。 k应c在合理时间内更换;时间间隔不得超过5秒。 输入新字符后,无论时间间隔是否到期,都应替换k为c并k立即使用输入的密钥作为新字符。 每次需要更改字符时都可以清除并重画屏幕。 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。 您可以假设输入的字符数永远不会超过终端/图形窗口的宽度。 如果使用终端,则应在输入换行符或到达EOF后终止程序。 您的程序应在移动和其他环境中均按此处概述的功能运行。 您的程序可能会假设输入将仅包含可打印字符(字母,数字,符号),并且可能包含终止换行符(无退格键,箭头键,删除键等)。 当按Ctrl + C时,您的程序可能会终止。 如果程序启动了一个窗口,则可以通过关闭窗口来终止程序。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜! 例 这是一个外观示例。请注意,这是记录在移动平台上的,但也应在桌面平台上工作。
13 code-golf  string 

7
旧的C代码转化器*
*什么是透湿剂? 在C编程语言中,存在称为二字和三字的形式,这是两个和三个字符序列,其结果为较不常见的字符。例如,??-如果您的键盘没有,则可以使用~。 给定文本,用正确的,较短的,打高尔夫球的角色(右侧)替换以下有向图和三联图的所有实例(左侧)。 ??= # ??/ \ ??' ^ ??( [ ??) ] ??! | ??< { ??> } ??- ~ <: [ :> ] <% { %> } %: # 资源 输入值 输入为ASCII文本。允许尾随换行符。不需要是有效的C代码。 输出量 输出是相同的文本,上面的二字和三字图的所有实例都被缩短的版本替换,从左到右评估。允许尾随换行符。不需要是有效的C代码。 测试用例 => 分离输入和输出。 if (true ??!??! false) { => if (true || false) { …
13 code-golf  string 

2
放大地图
您的任务是,在输入地图的情况下,根据比例将其缩小或放大。请注意,给出的规模是规模由放大了,所以0和1之间的规模将实际进行放大。 例如,给出以下(效果不佳)的地图: ..____.... ../OOO\... ..\OO/\... .......... 比例因子为2,您应该首先将其分成2x2的部分: .. | __ | __ | .. | .. .. | /O | OO | \. | .. ---------------------- .. | \O | O/ | \. | .. .. | .. | .. | .. | .. 在每个部分中找到最常见的字符: .__.. ..... 请注意,其中有一个不明确的部分: __ OO …
13 code-golf  string 

30
指定索引处的字符串元素
给定一个字符串s和一个n小于其长度的非负数s,请在的n第-个位置输出字符s。 允许0索引和1索引。对于1分度,n将为正且小于或等于的长度s。 s 将仅包含可打印字符。 允许任何合理的输入/输出。有标准漏洞。 测试用例(0索引): n s output 0 "abcde" a 1 "abcde" b 2 "a != b" ! 3 "+-*/" / 4 "314159" 5 测试用例(1-索引): n s output 1 "abcde" a 2 "abcde" b 3 "a != b" ! 4 "+-*/" / 5 "314159" 5 这是代码高尔夫球,因此最短答案以字节为单位。
13 code-golf  string 

16
属于回文的字符串排列数
您的输入将是由小英文字母组成的字符串。 您的任务是确定作为回文的原始字符串的不同排列的数量。 输入字符串最多包含100个字母。在较长的字符串的情况下,结果可能会很大,因此输出应为模数666013的排列数。 例如, cababaa -> 3 可能的排列是: aabcbaa abacaba baacaab 这是代码高尔夫球,所以最短的答案会成功!

2
关闭标签!
这是基于先前删除的同名我的挑战 介绍 您的任务是编写一个程序,该程序根据输入是否正确地按正确的顺序打开和关闭其所有类似于XML的1标签来返回真或假值。考虑以下内容作为输入: <Apple> 因为标签未正确关闭,这将返回falsey值。这个: <Apple></Apple> 相反,返回正确值,因为它已正确关闭。该程序还应该检查嵌套标签,以确保它们位于正确的位置。例如,将此作为输入: <mango><Apple></mango></Apple> 所有标签均已正确关闭,但顺序不正确。您的程序必须检查正确的标记层次结构和嵌套。 定义 在我进入规则和假设之前,请先定义一些内容。 标签 基本的XML样式标签。例如:<Apple>。它们最多可以有一个前导和尾随空格(否则它是无效的和虚假的),因此< Apple >和<Apple>是相同的。这些标签也可以包含类似的属性foo="bar" (需要用双引号,否则无效,falsey) ,属性名只能包含任何字母数字字符或_,:,-,和.。属性名称也不需要属性值,并且值可以包含除"右双引号之前的任何内容。结束标签不得包含属性,并且标签中不得包含换行符。 标签名称 标签名称是标签的名称。例如,<Apple>的标签名称是Apple。标记名称可以包含与属性名称相同的字符,并且区分大小写。这意味着,<Apple>是不是 <apple>。 自闭合标签 会自行关闭的常规标记,例如<Apple />或<Apple/>(它们相同)。斜杠和标签名称之间的空格是允许的。 纯文本 一个字符串,可以包含任何内容,并且不包含在<和中>。 “简单”标签 打开,关闭或自动关闭标签。 规则 输出可以退回或打印,并且输入可以按照您喜欢的任何方式进行 输入是一个字符串,由标签,纯文本或两者组成 您的程序可以是一个功能或整个工作程序 纯文本可以在任何地方;如果输入仅包含纯文本,则程序应返回真实值。 该程序需要识别嵌套标签。如果标签嵌套在标签中,则该嵌套标签必须在关闭父级之前关闭,就像常规XML一样,否则应返回falsey值 假设条件 您可以假设输入将始终是一个或多个“简单”标签 您可以假设输入将始终遵循上面定义的标签的格式 测试用例 虚假 <apple> <apple></Apple> <apple></mango> <apple><mango> <a><b></a></b> Text<ul><li></li><ul /> <pear attr=foo></pear attr=foo> <Ketchup flavor=spicy></Ketchup> …

1
读一读填字游戏!
与此问题类似,但这是填字游戏的变体! 而不是每个网格正方形只有一个字母,您可以拥有一个或两个。 输入: 2D数组,或任何以您的语言工作的数组。 您可以假设输入有效 任何数组大小都必须有效 输出: 所有单词的数组 上下 所有单词都必须连接在一起,即以不间断的单词链链接(如果不返回false) 单词必须至少是两个网格正方形,而不是字母 例: [["", "wo", "r", "k"], [ "", "r", "", ""], [ "he", "l", "lo", ""], [ "", "d", "ad", ""]] 返回值: ["work", "world", "hello", "load", "dad"] 例: [["he", "ll", "o"], [ "", "", ""], [ "wo", "r", "ld"]] 返回值: …

1
鲍勃的密码
介绍 鲍勃喜欢为他使用的每个网站使用不同的密码。他想要一种特殊格式的密码,以便他可以记住。通过建立一个密码生成器来帮助他,该密码生成器的代码长度应尽可能短,因为他喜欢像他的名字一样简短。 挑战 为Bob生成一个密码生成器,该生成器具有四个参数- 域名地址,(例如:stackexchange.com) 名字, 姓, 出生日期和年份。 并输出经过以下转换的字符串。 每个密码都有一个基于域名长度l的模板。如果l为质数,则模板的格式为- [birth-date][domain-name][lastname][birth-year][symbol] 否则就是这种形式- [symbol][birth-year][firstname][domain-name][birth-date]。 符号字段将具有基于域类型的值。 .com-> $$$ .org-> &&& .net-> %%% .edu-> +++ .gov-> @@@ .mil-> >>> 默认-> ~~~ 现在,他还想对字段- 进行凯撒密码[firstname][domain-name][lastname]。如果l为素数,则移位方向为右,否则为左。偏移值由出生日期和年份相加的值确定。 经过上述过程后,文本很难被记住,因此他希望加密后的文本清晰可辨。为此,他想用字母顺序(即aeiou)的元音替换每三个连续的辅音。 最后,他想删除连续出现的相同字母。 例 输入-stackexchange.com bob williams 0894 输出-08qraicvafyecugjigyoq94 $$$。 说明: 密码模板为[birth-date][domain-name][lastname][birth-year][symbol],因为域名的长度stackexchange是素数。符号将$$$与域类型相同.com。 让我们在模板-中填充这些值08stackexchangewilliams94$$$。现在,必须在字段上运行凯撒密码[firstname][domain-name][lastname](在这种情况下,它只是姓氏)。位移方向是正确的,因为l为质数,位移值为08+94 = 102。 因此,08stackexchangewilliams94$$$变成08qryaicvafylecugjjgykq94$$$。现在,每三个连续的辅音都用元音替换- 08qraaicvafyeecugjigyoq94$$$ 删除同一字母的每个连续的音调- 08qraicvafyecugjigyoq94$$$。别担心,这对Bob来说很明显。 附加信息 域名,名字和姓氏仅包含小写字母。 …
13 code-golf  string 

8
在跷跷板的一侧增加重量以使其平衡
平衡技术 跷跷板(据说来自法国的“ci-ça”,意思是“ this-that”)构成了游乐场设备的三位一体的三分之一,以及类似的无处不在的滑梯和秋千。当且仅当两边的力矩之和相等时,跷跷板才能达到完美的平衡。因此,可以通过在力矩总和较低的一侧增加一定数量的重量来平衡跷跷板。实现这一目标是您应对这一挑战的目标。 挑战 您面临的挑战是将跷跷板描述为输入并再次输出,并在跷跷板的一端增加重量以使其平衡。 输入值 您的程序必须采用任何合理格式的ASCII跷跷板,例如: 100 100 ------------------- ^ 第一行包含两个数字,每个数字代表跷跷板上的重量。每侧恰好有一个重物,每个重物都作用在木板一侧的末端。权重保证为整数,并始终与其相应的木板末端对齐。这些数字永远不会与支点(^)重叠。 第二行代表跷跷板的“木板”。每个破折号(-)代表彼此的破折号长度相等,唯一的例外是破折号直接位于支点(^)上方,没有长度。 第三行代表跷跷板的支点。该支点由唯一的字符而不是该行上的空格(抑扬符('^'))标记。支点可以在有效输入中沿木板长度放置的任何位置,只要保留足够的空间,以使表示重量的数字在输入或输出中都不会与支点重叠。 确保输入有三行,并且在构成跷跷板的字符之前或之后没有空格(当然,第三行除外)。 输出量 为了输出,应该在标准输出上打印相同的跷跷板图,但是要用一个(只有一个)砝码替换为较大的砝码,以平衡跷跷板。确保仅使用整数就可以使输入成为可能。因此,显示的重量必须没有小数点或任何其他类似的符号。如果您的语言不使用stdout,则应该就输出达成社区/元共识。尾随换行符很好,但是对描述格式的任何其他更改可能都不行。 范例 测试输入和相应的输出 输入1 12 22 -------------------- ^ 输出1 12 26 -------------------- ^ 输入2 42 42 ----------- ^ 输出2 42 42 ----------- ^ 输入3 3 16 ---------------- ^ 输出3 14 16 ---------------- ^ 输入4 …

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.