Questions tagged «string»

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

27
RLE Brainfuck方言
RLE Brainfuck (与BF-RLE有关) 假设的Brainfuck RLE(游程长度编码)方言接受8个命令的符号,并且还接受数字。这些数字用于表示命令的连续重复次数,因此可以对源代码进行行程编码。 8>等于>>>>>>>>。 长度始终在命令的左侧。 您的任务是编写最短的程序/函数,将输入字符串(RLE Brainfuck片段)转换为常规Brainfuck程序。 例如: 输入: 10+[>+>3+>7+>10+4<-]3>2+.>+.7+2.3+.2<2+.>15+.>.3+.6-.8-.2<+.<. 输出: ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>++.>+.+++++++..+++.<<++.>+++++++++++++++.>.+++.------.--------.<<+.<. 每种语言中字节数最短的代码将获胜。

2
全方位展开
输入: 一串 输出: 1)首先,我们采取在输入串的末尾删除字符,直到我们留下的长度为正方形(即1,4,9,16,25,36,等等) 因此,abcdefghijklmnopqrstuvwxyz(长度26)变为abcdefghijklmnopqrstuvwxy(长度25)。 2)然后我们将其放在一个正方形中,从左到右一次一行: abcde fghij klmno pqrst uvwxy 3)我们在四个方向上都将其折叠,如下所示(我们不断展开,直到外部折叠的“块”不再具有内部字符可展开): m qrs l n ghi abcde ihgf jihg mn lk on lm srqp tsrq uvwxy qrs l n ghi m 需要注意的一些事情,当我们向外折叠时,我们基本上像这样镜像(为澄清起见添加了数字,这些数字表示这些示例中的“索引”): 当我们向外折叠时: 123 to: 321 123 fghij ihgf j 当我们折叠右侧时: 123 to: 123 321 fghij f jihg 当我们向上折叠时: …

18
如何将省略号复数?
这显然是省略号。 受启发 聊天消息的。 你的挑战 给定一个列表,空格或逗号分隔的字符串,用省略号将其括起来。 省略一个单词: 从单词开始。 将原始单词的第一个字母添加到末尾。 在原始单词的最后一个字母的末尾加上2。 将原始单词的倒数第二个字母添加到末尾。 将原始单词的第一个字母添加到末尾。 将原始单词的最后一个字母添加到末尾。 重复步骤5和6。 你完成了! 您可以假设: 输入的单词只能是字母数字 输入和输出可以是用空格分隔的字符串或列表 输入将仅包含单词 单词长度至少为2个字母 输入将匹配正则表达式 /^[a-z0-9]{2,}( [a-z0-9]{2,})*$/i 您可以具有不同的输入和输出格式 还有更多... 测试用例: ellipsis -> ellipsisessieses goat -> goatgttagtgt covfefe -> covfefeceefcece programmer5000 -> programmer5000p000p0p0 up vote down goat -> upuppuupup voteveetveve downdnnwdndn goatgttagtgt it is golf yo …
14 code-golf  string 

28
拿起你的手机!它在振动!
您刚购买了一部新手机,但是您不太喜欢它的振动方式,因此您决定要创建自己的振动模式。因此,您编写了一个使用关键字的程序long,short并pause根据这些关键字使手机振动。 任务 创建一个小程序,它接受的字符串long,short和pause并输出表示一个电话振动的语音声音的另一个字符串;Rrrr - Rr long声音就是Rrrr short声音Rr (套管问题) pause是破折号- 所有声音都用破折号分隔,周围有空格' - ' 测试用例 输入: long long short long short 输出:Rrrr - Rrrr - Rr - Rrrr - Rr 输入: long long long short short short 输出:Rrrr - Rrrr - Rrrr - Rr - Rr - Rr 输入: short short short …
14 code-golf  string 

11
案例匹配查找替换
以三个输入,文本串T; 一串要替换的字符F;以及用替换它们的字符串R。对于每个T具有相同(不区分大小写)字符的子字符串F,请将其替换为中的字符R。但是,请保持与原始文本相同的大小写。 如果输入的字符R多于个F,则多余的字符应与输入的大小写相同R。如果其中包含数字或符号F,则其中的相应字符R应保持其大小写R。F不一定会出现在中T。 您可以假设所有文本都在可打印的ASCII范围内。 例子 "Text input", "text", "test" -> "Test input" "tHiS Is a PiEcE oF tExT", "is", "abcde" -> "tHaBcde Abcde a PiEcE oF tExT" "The birch canoe slid on the smooth planks", "o", " OH MY " -> "The birch can OH MY e slid OH MY …
14 code-golf  string  code-golf  string  ascii-art  alphabet  code-golf  number  sequence  counting  code-golf  sequence  counting  code-golf  quine  source-layout  code-golf  string  code-golf  decision-problem  game  code-golf  string  quine  source-layout  subsequence  code-golf  quine  code-golf  array-manipulation  integer  code-golf  ascii-art  code-golf  sequence  integer  code-golf  kolmogorov-complexity  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  integer  code-golf  string  number  integer  code-golf  string  ascii-art  code-challenge  test-battery  expression-building  source-layout  printable-ascii  code-bowling  code-golf  number  code-golf  number  string  binary  code-golf  matrix  conversion  code-golf  number  arithmetic 

11
取字符串的平方根
动机 在此挑战中,您的任务是将两个字符串相乘,这自然会引入一种取字符串平方根的方法。 它是如何工作的? 给定一个字符串(例如pub),您需要做的第一件事就是确定每个字符的ASCII代码: "pub" -> [112, 117, 98] 接下来,[0..94]通过减去32每个值将这些代码映射到范围: [112, 117, 98] -> [80, 85, 66] 现在,您需要为每个值找到其根模95(例如40*40 % 95 = 80,也可以选择55): [80, 85, 66] -> [40, 35, 16] 最后,您将其映射回范围[32..126]并将其转换回字符串: [40, 35, 16] -> [72, 67, 48] -> "HC0" 的确"HC0" ⊗ "HC0" = "pub",您可以从这里的其他挑战中找到解决方案,以此来验证。 那些熟悉模算术的人可能注意到平方根模数95并不总是存在,例如,没有根2。在这种情况下,未定义字符串的平方根,并且您的程序/函数可能会崩溃,不确定地循环等。 为了方便起见,以下是具有平方根的字符列表(第一个是空格): !$%&)+03489:>CDGLMQVW]`bjlpqu 规则 您将编写一个将字符串(或字符列表)作为参数并返回任何平方根(如果存在)的程序/函数 您可以假设输入始终具有平方根 …

8
制作八角形文字
上周四,用户@SpookyGengar对他/她关于制作平方字的第一个挑战使我们感到高兴。如果我们将边数加倍怎么办? 挑战 以字符串形式使用您需要的任何合理格式的输入(string,chararray ...)并输出该输入的八角形表示形式(也可以使用任何合理的格式:string,strings的列表,charmatrix ...),如以下示例所示: Input: golf Output: golf o l l o f g l o o l g f o l l o flog Input: HelloWorld Output: HelloWorld e l l r l o o W W o o l r l l e d H l e …
14 code-golf  string 

3
绘制ASCII长方体
给定三个> = 2的整数,在正交(柜)投影中创建一个ASCII立方体。这三个整数表示包括边角的高度,宽度和深度(以可见字符为单位)。拐角应为“ o”或“ +”,自由选择。 w:10,h:5,d:4因此,得出: o--------o / /| / / | o--------o | | | o | | / | |/ o--------o 现在,要使其稍微难一点,所有的面孔都可以是坚固的,透明的或缺失的。我们像这样订购面孔: o--------o / /| / 2 / | o--------o 3| | | o | 1 | / | |/ o--------o --- |2| ------- |5|1|3| ------- |4| --- …

10
让我们学习一些土壤pH值化学!
安德鲁是一位化学家,对溶液的酸度和农业感兴趣。经过数月的研究(Google不是他的朋友),他提出了以下表格*,其中涉及人类可读的pH值(氢势)酸度: 面额| pH范围 | ------------------------- + ------------------------ ----- 超酸性| 3.5以下 ------------------------- + ------------------------ ------ 极酸性| 在3.5和4.4之间 ------------------------- + ------------------------ ------ 极强酸性| 在4.5和5.0之间 ------------------------- + ------------------------ ------ 强酸性| 在5.1和5.5之间 ------------------------- + ------------------------ ------ 中度酸性| 在5.6和6.0之间 ------------------------- + ------------------------ ------ 微酸性| 介于6.1和6.5之间 ------------------------- + ------------------------ ------ 中立| 在6.6和7.3之间 ------------------------- + ------------------------ ------ …

23
交换字母和数字
给定仅包含字母数字ASCII字符并以字母开头的输入字符串,请将每个字母运行与后面的数字运行交换。 一个运行是连续的字母或数字序列。注意,在输入字符串以字母结尾的情况下,该行程保持不变。 演练示例 例如,给定输入字符串uV5Pt3I0: 字母和数字分开运行: uV 5 Pt 3 I 0 确定运行对: (uV 5) (Pt 3) (I 0) 交换运行对: (5 uV) (3 Pt) (0 I) 串联: 5uV3Pt0I 例子 uV5Pt3I0 -> 5uV3Pt0I J0i0m8 -> 0J0i8m abc256 -> 256abc Hennebont56Fr -> 56HennebontFr Em5sA55Ve777Rien -> 5Em55sA777VeRien nOoP -> nOoP 这是代码高尔夫球,因此最短的答案以字节为单位。鼓励解释。
14 code-golf  string 

9
键盘布局挑战
人们通常使用的键盘布局是QWERTY布局,如下所示。 但是,还有其他键盘布局: 德沃克 科勒马克 工人 你的任务 您的代码将接受两个输入:键盘布局的名称和要转录的字符串。您的目标是转换QWERTY输入,就像您使用给定的键盘布局作为第一个参数进行键入一样。 规则 输入格式是免费的,您可以使用字符串,数组等。此外,您可以使用任何三个不同的值来表示布局以减少字节数,但是它们每个都必须以10个字节或更少的字节表示。 您只需要处理带有白色背景的键。具体来说,您必须将可打印的ASCII字符从QWERTY字母转换为其他字母之一: QWERTY: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ DVORAK: !_#$%&-()*}w[vz0123456789SsW]VZ@AXJE>UIDCHTNMBRL"POYGK<QF:/\=^{`axje.uidchtnmbrl'poygk,qf;?|+~ COLEMAK: !"#$%&'()*+,-./0123456789Oo<=>?@ABCSFTDHUNEIMKY:QPRGLVWXJZ[\]^_`abcsftdhuneimky;qprglvwxjz{|}~ WORKMAN: !"#$%&'()*+,-./0123456789Ii<=>?@AVMHRTGYUNEOLKP:QWSBFCDXJZ[\]^_`avmhrtgyuneolkp;qwsbfcdxjz{|}~ (注意:这是@ETHproductions手动转录的,因此,如果您发现任何错误,请指出来!) 例 DVORAK zZxX 作为输入将作为输出 ;:qQ 这是代码高尔夫球,因此最短答案以字节为单位!

5
生成所有Brain-Flak片段
这个问题是旨在庆祝Brain-Flak的第一个生日的几个Brain-flak Birthday挑战中的第二个!您可以在此处找到有关Brain-Flak诞辰的更多信息 挑战 对于这个挑战,您将从括号列表中生成所有完全匹配的字符串。借用DJMcMayhem对完全匹配的字符串的定义: 出于此挑战的目的,“括号”是以下任意字符:()[]{}<>。 如果左括号和右括号的顺序正确且其中没有字符,则将一对括号视为“匹配” () []{} 或者,如果其中的每个子元素也都匹配。 [()()()()] {<[]>} (()()) 子元素也可以嵌套几层深。 [(){<><>[()]}<>()] <[{((()))}]> 当且仅当每对括号中的正确开/右括号正确且顺序正确时,才将字符串视为“完全匹配”。 输入值 您的程序或函数将采用任何方便且一致的格式列出四个非负数的列表。这包括(但不限于)整数列表,非数字定界字符串或单独的参数。这四个数字代表每种类型的括号的匹配对数。例如,[1,2,3,4]将代表: 1对 () 2对 {} 3对[]和 4对 <> 您可以选择每个输入对应的一对括号,只要它们是一致的即可。 输出量 您应该输出可以从此括号列表中形成的所有完全匹配的字符串,而不重复。输出可以采用任何合理的格式,包括将非括号分隔的字符串打印到STDOUT或将字符串列表作为函数的返回值。 您的算法必须适用于任何任意输入,但是您不必担心内存,时间或整数大小限制(例如,如果答案是C,则不会得到2 33作为输入)。 这是代码高尔夫球,因此最短的答案以字节为单位。 输入和输出示例 对于这些示例,我将使用与上面相同的输入顺序。 对于每个示例,第一行将被输入,随后几行将被输出 Example 0: [0,0,0,0] Example 1: [1,0,0,0] () Example 2: [0,2,0,0] {}{} {{}} Example 3: [0,0,1,1] []<> …

4
像2048拼图一样更改文字重力
在游戏2048中,您有一个网格,并且可以在四个方向上移动元素。他们都朝着这个方向努力。对于此挑战,将为您提供带填充的方形2D字符串(带有换行符或字符串列表),如下所示: ab cd e f ghij kl mno p q r st u v w x y z 要么 ['ab cd e ', ' f ghij ', ' kl', 'mno p ', ' q r st ', 'u v', ' w x y ', 'z '] 这四个操作是left,right,up,和down。以上输入中每个的结果: 剩下: abcde fghij …
14 code-golf  string 

11
A,Buzz,C,D,E,Fizz,G
一个使用字符串的简单FizzBu​​zz。 给定 1个字或词组(字符串) 2个独特的角色 输出量 每个出现的第一个字符的单词或短语都用嘶嘶声代替,而第二个字符的每个单词或短语都以嗡嗡声代替 规则 Fizz和Buzz中的首字母必须保持大写 对于其余的嘶嘶声和嗡嗡声,您必须匹配被替换字符的大小写(如果没有大小写,则保持小写) 如果短语中没有给定的字符,则输出原始短语 测试用例 Given: Hello, h, l Output: FIZZeBuzzBuzzo Given: test, a, b Output: test Given: PCG rocks!, , ! PCGFizzrocksBuzz Given: This Is SPARTA!, , S Output: ThiBuzzFizzIBuzzFizzBUZZPARTA! Given: FizzBuzz, a, b Output: FizzBUZZuzz 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 注意 从技术上讲,处理换行案例(这是SPARTA!)是挑战的一部分。但是,我不会因为没有包含答案而作废,因为在某些语言中这是非常具有挑战性甚至是不可能的。
14 code-golf  string 

4
假日头痛
警告:请勿从此帖子中寻求医疗建议。如果需要医疗建议,请咨询合格的专业人员。 我头疼。我需要头痛药。 我会告诉你我最近服用的几剂,然后你告诉我何时可以服用我的下一剂而不过量。 我给你这个字符串: P: 00:00, I: 02:00, P: 04:00, I: 06:00 你会给我这个: Next P: 08:00, I: 10:00 输入: 字符串,代表每次服药的时间,格式如下: P: 00:00, I: 02:00, P: 04:00, I: 06:00 这意味着扑热息痛在00:00和04:00服用,布洛芬在02:00和06:00服用 输出(更新): 可以输入每次服药下次服用时间的字符串,格式如下: Next P: 08:00, I: 10:00 输出顺序应与服药顺序相同。-如果布洛芬在09:35和扑热息痛以及10:22服用,则输出应为Next I: 09:35, P: 10:22 如果每种药物下一剂的时间相同,则输出顺序无关紧要:Next P: 08:00, I: 08:00或者Next I: 08:00, P: 08:00 …
14 code-golf  string  date 

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.