Questions tagged «string»

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

30
交换“好”和“坏”
挑战说明: 编写一个要求用户输入的程序。用户将输入Good或Bad。您不必支持任何其他输入。如果用户输入Good,则打印Bad,反之亦然(到标准输出等)。 笔记: 1)您不能使用其他两个单词对。 2)您的程序只需要询问并打印一次。 3)您不需要显示提示字符串。 4)无论如何,输出必须看起来与输入分开。 5)不允许函数接受值并返回结果;用户必须与该程序进行交互。 祝好运!

6
从板块到州
从本质上讲,这与生成美国车牌相反 挑战:给定与以下车牌格式之一匹配的字符串,请输出与该格式匹配的所有可能状态。在下表中,0代表一个数字0到一个9包含在内的数字,A代表一个字母A到一个Z包含在内的数字。出于此挑战的目的,我们将忽略具有复杂格式规则的州(例如,特拉华州的数字位数可变),并忽略删除相似字母(例如I和1)。 AAA 000: AK, IA, MS, MP, VT 0000: AS AAA0000: AZ, GA, WA 000 AAA: AR, KS, KY, LA, ND, OR 0AAA000: CA AA-00000: CT AA-0000: DC AAA A00: FL AA 00000: IL 000A,000AA,000AAA,AAA000: IN 0AA0000: MD AAA 0000,0AA A00,AAA 000: MI 000-AAA: MN 00A-000: NV 000 0000: …

4
花式字符串替换
让S,a并b各自代表一个字符串 目标:写在你更换所有出现一个标准的字符串替换功能a的字符串S与b,只要a是没有的一个实例的一部分b 例如,如果我们有字符串S=My oh my that there is a big ol' that 我们想做一个花哨取代a = that和b = that there我们将取代每个实例that有that there,只要实例that是不是已经实例that there 因此,在这种情况下,输出为: My oh my that there is a big ol' that there that不替换第一个,因为它已经是实例的一部分。that there 笔记 所有3个输入必须是仅包含可打印ASCII字符的字符串 输入可以给出3个单独的字符串或3个字符串的列表 输入将在订货S,a,b除非在回答另有规定 为了a被视为的一部分b,的所有实例都a必须是实例的一部分b 一些极端案例的解释 Input: ["1222", "22", "122"] Output: "12122" 在上述示例中,后者22被替换了。即使它的一部分是的一个实例的一部分,它b的整体也不是的一个实例的一部分b。由于的整个实例a不是其实例的一部分,b因此将替换它。 Input: ["123 ", …
16 code-golf  string 

7
无边桌
在此挑战中,您将把来自字母的字母放置在笛卡尔平面中,并将结果输出为文本。 您的输入将包含在具有3个参数的列表列表中: X坐标 Y坐标 串 怎么样? 我们知道笛卡尔平面包含2个轴(X,Y)(X,ÿ)(X, Y)和4个象限,其中坐标的符号为,,(- ,- )和(+ ,- )。例如(X,Y)(X,ÿ)(X,Y)(+ ,+ )(+,+)(+,+)(- ,+ )(-,+)(−,+)(- ,- )(-,-)(−,−)(+ ,− )(+,-)(+,−) 将以下3 x 3矩阵视为笛卡尔平面 (- 1 ,1 )(- 1 ,0 )(− 1 ,− 1 )(0 ,1 )(0 ,0 )(0 ,− 1 )(1 ,1 )(1 ,0 )(1 ,− 1 )(-1个,1个)(0,1个)(1个,1个)(-1个,0)(0,0)(1个,0)(-1个,-1个)(0,-1个)(1个,-1个)\begin{matrix} (-1,1) & …

30
一分为三!
给定一个字符串,您必须将其分成三个字符的组(_末尾填充)。 相关的,但仍然有所不同。 样本I / O: 'abcde' -> 'abc', 'de_' '1234' -> '123', '4__' '' -> [] or falsey value 'Three spree!' -> 'Thr', 'ee ', 'spr', 'ee!' 6 MB字串 这是一个代码高尔夫球,因此将赢得最少的字节! 编辑:最后,输出不受限制。

4
通过折叠重复字形来弯曲此字符串
给定一个字符串,您的任务是将其折叠成如下所述的锯齿状结构。 折成锯齿形 我们将以字符串"Mississippi"为例: 首先,输出仅包含唯一字符的最长前缀: Mis 当您到达第一个重复的字符C时,请忽略它,并issippi在第一次出现的C之下垂直输出由剩余字符串()的唯一字符组成的最长前缀: Mis i s 重复此过程,在水平和垂直连续之间交替。但是现在要小心(在步骤1),从最近出现的重复字符(不一定是最后一个字符)继续水平输出,在这种情况下: Mis i sip ----- Mis i sip i 规则 该字符串将仅包含可打印的ASCII字符,但不包含任何类型的空格。 您可以使用任何编程语言进行竞争,并且可以通过任何标准方法并以任何合理的格式1进行输入和提供输出,同时请注意,默认情况下,这些漏洞是禁止的。这是代码高尔夫球,因此每种语言的最短提交(以字节为单位)将获胜。 1输入:字符串/字符列表/您的语言用来表示字符串的其他任何字符。输出:多行字符串,代表行的字符串列表或字符/长度为1的字符串列表,但是如果可能的话,请在答案中包含漂亮的代码版本。 关于其他空格,输出可能包含: 前导/尾随换行符 每行末尾的空格 一个一致的前导空格每行号 您必须开始水平输出,而不能垂直开始。 测试用例 输入: “完善” 密西西比州 “奇数” “特权” “克苏鲁” “ PPCG” “ pOpOpOpOpOpOpOp” “ ABCCCE” “ ABCCCECCEEEEC” “ abcdcebffg” “阿布卡” “ AAAAAAAA” 相应的输出: 性能 C …

17
交替模式
在一个已删除的stackoverflow问题中,有人发布了以下内容: 编写程序或函数以在给定的整数内*并#基于给定的整数打印交替的图案n。一些例子: 输入:n=1 输出: * 输入n=5 输出: *#### ###** ***## ###** *#### 输入:n=8 输出: *####### ######** ***##### ####**** ****#### #####*** **###### #######* 由于这看起来像是一个很酷的代码挑战,所以就在这里。 这些模式是如何建立的? 第一行以单行开头*,后跟n-1大量#。 然后,第二行包含两个*,n-2前导量很大#。 第三行以3开头*,后跟n-3数量#。 等等 到达中间(n/2)后,我们再次以*,可以在上面的示例中看到。 注意,对于奇数输入数字,相反的线对(因此,第一和最后;第二和最后一个等;等等)完全相同。在n=5示例中,第一行和最后一行是*####;第二行和最后一行是###**。 然而,对于偶数输入数字,相反的一对线是相反的。在n=8示例中,第一行和最后一行是*#######和#######*; 第二行######**和倒数第二行是和**######; 等等 挑战规则: 您可以使用任意两个不同的可打印字符来代替*和#。您可以使用A和B; 3和7; <和>; 等等。请在回答中说明您使用过的内容。 您可以假设n将为正整数(>= 1) 您可以为每行或2D字符矩阵输出字符串列表/数组,而不是将其打印到STDOUT。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接。 另外,强烈建议为您的答案添加说明。 …

4
生成Portmantout!
背景 三年前,这个家伙汤姆·墨菲(Tom Murphy)想到了将Portmanteau的概念扩展到语言中的所有单词,并称其为portmantout(portmanteau加上tout [French for all ])。他将英语定义为108,709个单词的列表,设法找到了具有以下两个属性的611,820个字母序列: 字符串中包含每个英语单词。 字符串中包含任意两个相邻字母的邻域是一个英语单词。 这是指向该portmantout的页面的链接(以及视频说明)。 搬运工 portmantout的两个属性中的第一个很容易理解。第二个可能需要一些解释。 基本上,单词必须重叠。“ golfcode”将永远不会出现在英语的portmantout中,因为那里没有包含“ fc”的词。但是,您可能会在portmantout中找到“ codegolf”,因为“ ego”弥合了差距(所有其他字母对都在“ code”或“ golf”中)。 你的任务: 编写一个程序或函数,该程序或函数需要一个字符串列表并返回该列表的所有portmantout。 此Python 3代码将验证portmantout。 测试用例 所有列表都是无序的;那是, {"code", "ego", "golf"} -> "codegolf" {"more", "elm", "maniac"} -> "morelmaniac" or "morelmorelmaniac" or "morelmorelmorelmaniac" or... Would a morelmaniac be some sort of mycologist? {"ab", "bc", …

9
中级字符串数组反射
让我们从在二维字符数组中重新定义字符的反射开始: 给定一个方形的二维数组,其中的字符带有不同的小写字母字母,则定义一个字母在矩阵中的反射,即将其与通过正方形中心直接从其对面的字符交换。 因此,c在 abcde fghij klmno pqrst uvwxy 会导致配置 abwde fghij klmno pqrst uvcxy 因为c和w已被切换。 其他一些示例(具有与上述相同的原始配置): 反映人物e会形成 abcdu fghij klmno pqrst evwxy 反映角色m将使 abcde fghij klmno pqrst uvwxy 反映人物b会形成 axcde fghij klmno pqrst uvwby 挑战 给定二维数组的字符,这些字符具有不同的小写字母,请遍历给定字符串中的每个字符,然后将其“反射”到矩阵中。 说明:字符串中a-z的字母是from ,字母是唯一的,并且数组至少为1x1,最大为5x5(显然,英文字母中只有26个字符。)字符串中的字符必须保证为在二维数组中 该字符串最长为100个字符。 输入值 一个字符串s,一个整数N,然后是一个NxN字符数组。 例 输入: ac 2 ab cd 输出: dc ba …
16 code-golf  string 

10
分配客机座位
受到上周APL课程的启发。 给定一个大写的2D座位图和一维客户列表,返回座位图和客户列表,但进行如下修改(以指示已占用的座位和就座的客户): 对于输入的乘客列表中的每个唯一字母,将其在座位图中的所有字母(或全部,如果没有足够的话)都小写,从左到右,从上到下。 对于座位图中的每个唯一字母,将乘客列表中该字母中的许多(或全部,如果没有足够的话)小写,从左到右。 输入座位图只包含空格和大写字母集合{ F,B,P,E},并且可以是: 通过换行符分成几行 字符串列表 大写字母矩阵 任何其他可比较的格式 输入客户名单只包含从一组大写字母{ F,B,P,E },可以是: 一个字符串 字符列表 任何其他可比较的格式 返回的座位图必须与输入的座位图相同,不同之处在于将零个或多个字母折叠成小写 返回的客户列表必须与输入的客户列表相同,除了将零个或多个字母折叠成小写字母外 允许前导和尾随空格 示例(美联航飞机的简化版) ERJ145 座位图输入: P E E PP E EE E EE E EE E EE P PP E EE E EE E EE 旅客名单输入: FFEEEEEEEEEEEEEEEE 座位图输出: P e e PP e …

19
用我的方式阅读颜色
即使所有系统都在RGBA空间中讲话,不同的系统也有不同的颜色描述方式。熟悉CSS的前端开发人员可能更喜欢#RRGGBBAA。但是Android开发人员可能更喜欢#AARRGGBB。处理AAS文件格式时,#AABBGGRR是必需的。太混乱了。也许我们需要一个可以在不同颜色格式之间转换的程序。 输入: 输入包含3个部分: 要转换的颜色(例如#1459AC0F),以尖锐符号#开头的字符串,后跟8个十六进制数字。 给定颜色的格式(例如#RRGGBBAA),一个字符串开头,#后跟8个字母,分为4个不同的组,每个组是RR/ GG/ BB/之一AA。 转换成的格式。 输出: 以转换后的格式输出颜色 测试用例: Color, OriginalFormat, TargetFormat -> Result #12345678, #RRGGBBAA, #AARRGGBB -> #78123456 #1A2B3C4D, #RRGGBBAA, #AABBGGRR -> #4D3C2B1A #DEADBEEF, #AARRGGBB, #GGBBAARR -> #BEEFDEAD 输入/输出不区分大小写。您可以以任何可接受的方式输入/输出。 规则: 这是代码高尔夫球,每种语言的最短(以字节为单位)代码获胜

6
Panfix到括号中的括号
Quylthulg是Chris Pressey 编写的一种语言,它试图通过使用panfix来解决中缀表示法的问题: 像postfix一样,panfix不需要部署神秘的设计(例如括号)来覆盖默认的运算符优先级。同时,panfix允许以与infix相同的顺序和方式来指定术语,这对于已经习惯infix的人来说无疑是一种自然而直观的表示法。 如何获得前缀表示法的便利性以及前缀或后缀的明确性?当然,全部使用这三个! =y=+*3*x*+1+= 更正式,更+是运营商,并a和b是表达式。然后(a+b)是一个有效的(带括号)中缀表达式,该表达式的panfix表示为+a+b+,其中并置表示串联。 您的目标是获取一个panfix字符串并将其转换为带括号的后缀: (y=((3*x)+1)) 为简单起见,我们将进行以下更改: 运算符只能由两个唯一的字符组成(您可以选择任何一个,但是在这里我将使用*和+)。 只有一个文字,它由另一个不同的字符组成(您可以选择任何一个,但在这里我将使用_)。 输入将是格式正确的panfix表达式。 对于复杂性,我们将进行以下更改: 运算符可以包含任意数量的正字符,而不仅仅是一个。 这使挑战变得更加棘手,因为您无需确定字符串的其余部分就不必确定给定的操作符子字符串的分区方式。 这是挑战的参考实现,由@ user202729提供。 测试用例 format: input -> output +*+_*+_*+++_+*+_*+_*+++ -> ((_*+_)+(_+(_*+_))) **++*+***++_+_++_+*++*+***_*++*+*****_**_*_*** -> ((((_+_)+_)*++*+***_)*(_*(_*_))) ***_**_***_* -> ((_**_)*_) +_+_+ -> (_+_) *+*+++**+***+++++_*+*+++**+***+++++_*+*+++**+***+++++ -> (_*+*+++**+***+++++_) *++++*+*_*_*+*+++****+_++****+_++****++*+*+++_*+++ -> (((_*_)+*+(_++****+_))*+++_) +**+_*+_*+*_*+*_*+*_+*_+**+ -> (((_*+_)*_)+(_*(_+*_))) +**+++++_+++++_+++++*_*+*+_++++++_+++++_+++++++* -> (((_+++++_)*_)+*(_+(_+++++_))) +*+*+_+*+_+*+*_*+*_*+*+_+*+_+*+*+ -> (((_+*+_)*_)+(_*(_+*+_))) …

15
解析带符号的一元数列表
一元数通常只表示非负整数,但是我们可以如下扩展它们以表示所有整数: 正整数N表示为N 1:5 -> 11111 负整数-N表示为0N,后跟N 1:-5 -> 011111 零表示为 0 如果使用0分隔符,则可以明确表示这些数字的列表: 3,-2,0,1 111,011,0,1 111 0 011 0 0 0 1 11100110001 您的任务:获取一个表示这样的带符号的一进制数字列表的字符串,并将其转换为十进制数字列表。 细节 您可以假定输入是带符号的一进制数字的完整列表。特别是,您的程序将不必处理1)空输入或2)以分隔符结尾的输入。 您可以假设每个数字的大小不超过127。对于具有最大字符串或列表大小的语言,可以假设输入和输出将适合您语言的数据结构,但是从理论上讲,算法应适用于以下列表任何大小。 你的程序或功能可以执行的I / O任何标准的方法。输入可以是字符串或字符列表,单字符字符串,整数或布尔值。您可以使用任何两个字符来表示1和0; 如果您不使用1和0,请指定您正在使用的字符。 输出必须是任何合理列表格式的十进制数字(尤其是数字之间必须有某种分隔符)。负数应以减号表示,尽管如果您的语言对负整数使用不同的格式,我也会接受。零可以在输出中表示为0或-0。 测试用例 1 -> 1 0 -> 0 (or -0, and similarly for the other test cases) 011 -> -2 …

17
绘制Lambda blazon
为庆祝希腊在公元前480年在萨拉米斯的胜利2497周年。绘制lambda blazon。 Lambda blazon是涂在希腊盾牌上的lambda,如下所示: 难题:给定正整数奇数n,生成上述屏蔽的ascii艺术图像。 规格: n = 1: ( /\ ) n = 3: ( /\ ) | / \ | ( / \ ) n = 5 ( /\ ) | / \ | | / \ | | / \ | ( / \ ) 图表: n …

6
评估减号和波浪号的表达
给定一个与正则表达式匹配的表达式/^[-~]*x$/,请根据对它进行求值x并输出与正则表达式匹配的字符串/^-?x[+-]\d+$/。 例如,字符串的-~x计算结果为x+1,而字符串的-~-x计算结果为-x+1,而字符串的-~-~--x计算结果为x+2。 我们从头开始x并从右到左评估字符串。-对词取反,而~转换y为-y-1。 测试用例: x x+0 ~x -x-1 -~x x+1 ~-~x -x-2 -~-~x x+2 --~~x x+0 ~-x x-1 -~-x -x+1 这是代码高尔夫球。以字节为单位的最短答案将获胜。 输入/输出格式严格。该"x"是强制性的。
16 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.