Questions tagged «string»

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

1
实施谜机
谜机是德国人和其他人用来加密其消息的相当复杂的密码机。实施此机器是您的工作*。 步骤1,旋转 我们的enigma机器有3个转子槽,每个槽有5个可用转子。每个转子都有26个不同的可能位置(从A到Z)。每个转子都有一个预定的缺口位置: Rotor Notch ------------ 1 Q 2 E 3 V 4 J 5 Z 按键时会发生以下步骤: 插槽1中的转子旋转 如果插槽1中的转子经过其槽口,则它将旋转插槽2中的转子。 如果插槽2中的转子在其槽口中(但不只是在那里移动),则转子2和3都会旋转一次。 如果我们使用转子1,3,5和他们中的位置P,U,H,然后位置的顺序是:P,U,H> Q,U,H> R,V,H>S,W,I 步骤2,替代 每个转子执行简单的字符替换。下图是该A位置的每个转子的图表: ABCDEFGHIJKLMNOPQRSTUVWXYZ -------------------------- 1 EKMFLGDQVZNTOWYHXUSPAIBRCJ 2 AJDKSIRUXBLHWTMCQGZNPYFVOE 3 BDFHJLCPRTXVZNYEIWGAKMUSQO 4 ESOVPZJAYQUIRHXLNFTGKDCMWB 5 VZBRGITYUPSDNHLXAWMJQOFECK R YRUHQSLDPXNGOKMIEBFZCWVJAT 转子1在位置T is处PAIBRCJEKMFLGDQVZNTOWYHXUS,它将用字母C代替I。 在三个转子进行替换后,反射器受到撞击(如上R所列)。它执行自己的替换,然后通过转子将信号反射回去。然后,转子以相反的顺序执行反向替换。 的是,代替转子1代反向替换装置A用E,它可以代替E与A 插槽中的转子1,2,3均已安装到位A。该字母Q沿Q>X>V>M通过转子的路径移动。 M反映到O,然后遵循的反向路径O>Z>S>S。因此,A用代替S。 输入输出 您通过了: 3个转子的列表(整数) 3个起始转子位置的列表(以字母表示) 需要加密的字符串。 …

21
编写一个函数/方法,该函数可以使用北约拼音字母输入字符串并拼写出该单词。标题箱可选
编写一个程序,该程序使用北约拼音字母输入字符串并拼写出该单词。 映射如下: 'A' -> 'Alfa' 'B' -> 'Bravo' 'C' -> 'Charlie' 'D' -> 'Delta' 'E' -> 'Echo' 'F' -> 'Foxtrot' 'G' -> 'Golf' 'H' -> 'Hotel' 'I' -> 'India' 'J' -> 'Juliett' 'K' -> 'Kilo' 'L' -> 'Lima' 'M' -> 'Mike' 'N' -> 'November' 'O' -> 'Oscar' 'P' -> 'Papa' …

4
系统会为您提供一个要制作的字符串,并以空字符串开头,并使用追加和克隆成本进行制作
您的任务是创建给定的目标字符串。从一个空字符串开始,您必须在其中添加字符,直到您的字符串与我们想要的字符串相同为止。您可以将一个字符添加到带有成本x的字符串的末尾,或者可以克隆具有成本y的字符串。我们想要的是最便宜的方法。 测试用例 targetString , appendcost, clonecost -> totalcost "bb", 1, 2 -> 2 "bbbb", 2, 3 -> 7 "xzxpcxzxpy", 10, 11 -> 71 "abababab", 3, 5 -> 16 "abababab", 3, 11 -> 23
17 code-golf  string 

30
在文本中搜索前缀并在文本中列出其所有后缀
我在这里宽松地使用“后缀”来表示“前缀之后的任何子字符串”。 “前缀”在此表示单词的开始,其中单词的开始定义为空格或输入文本的第一个字符之后(对于第一个单词)。单词中间的“前缀”将被忽略。 例如,如果您输入的前缀是“ arm”,并且输入文本是“ Dumbledore的军队已为即将发生的世界末日大战充分武装”,则输出列表将包含(y,ed,ageddon)。 测试用例 假定区分大小写,字符串以空格结尾。输入将不会以空格开头。 删除重复项是可选的。 Input prefix: "1" Input text: "He1in aosl 1ll j21j 1lj2j 1lj2 1ll l1j2i" Output: (ll, lj2j, lj2) - in any permutation Input prefix: "frac" Input text: "fracking fractals fracted fractional currency fractionally fractioned into fractious fractostratic fractures causing quite a fracas" Output: …

19
序数字符串检查
说明: 给定一个字符串作为输入,请检查它是否是英文的有效序数。如果有效,则返回真实值,否则返回虚假值。(由@Arnauld建议。谢谢。也由@JoKing提供) 对于想了解序数的用户,请点击此处: https://www.mathsisfun.com/numbers/cardinal-ordinal-chart.html(建议:qwr) 可能的输入: 21st ---> true 12nd ---> false 1nd ---> false .... 这是一场高尔夫挑战赛代码,因此每种语言中最短的代码将成为赢家。 例子 : console.log('12th' , true) // This evaluates to true console.log('1st' , true) // also evaluates to true console.log('21nd' , false) // returns false console.log('11st' , false) // returns false console.log('111199231923819238198231923213123909808th' , true) // …

26
万能药水句法糖
在药剂,(链接)的列表格式中的[head | tail]其中头可以是任何东西,和尾是列表的其余部分的列表,以及[]-空列表-是唯一的例外。 列表也可以写成[1, 2, 3]等价于[1 | [2 | [3 | []]]] 您的任务是按照说明转换列表。输入将始终是有效列表(在Elixir中),仅包含与regex匹配的数字\[(\d+(, ?\d+)*)?\]。您可以使用带空格的输入(每个逗号后一个空格)或不带空格的输入。输出可以带空格(每个空格前后一个空格|)或不带空格。 对于带前导零的输入,您可以不带零或带零输出。 输入必须与输出一样作为字符串(如果编写函数)。 例子 [] -> [] [5] -> [5 | []] [1, 7] -> [1 | [7 | []]] [4, 4, 4] -> [4 | [4 | [4 | []]]] [10, 333] -> [10 | [333 …

23
排序拼写清楚的序列号
给定两个或两个以上长度相等且大于2的拼写完整序列号的列表,例如 [[ "three" , "one" , "four" ], [ "one" , "five" , "nine" ], [ "two" , "six" , "five" ], [ "three" , "five" , "eight" ]] 按单词代表的数字对列表进行排序: [[ "one" , "five" , "nine" ], [ "two" , "six" , "five" ], [ "three" , "one" , "four" …

23
从字符串中删除重复项
受到这个朴素的StackOverflow问题的启发。 这个想法很简单;给定一个String和一个String数组,请从输入String中移除除第一个字符串之外的所有单词实例(忽略大小写),以及可能会留下的其他空白。单词必须匹配输入字符串中的整个单词,而不是单词的一部分。 例如 "A cat called matt sat on a mat and wore a hat A cat called matt sat on a mat and wore a hat", ["cat", "mat"]应该输出"A cat called matt sat on a mat and wore a hat A called matt sat on a and wore a hat" …
17 code-golf  string 

15
帮助我的儿子找到他的信
背景 基于我四岁的孩子从他的拉比那里得到的游戏。 “目标”是按给定顺序(例如)“查找”字母aecdb。会给您一堆字母卡片,例如daceb。您只能按给定的顺序搜索堆栈,尽管是循环的。遇到需要的信件时,可以将其取出。 目的 给定一个顺序和一个堆栈(彼此无重复排列),找到在玩游戏时看到的最高堆栈字母的序列(都是可打印的ASCII)。 分步示例 aecdb给定堆栈,我们需要找到订单daceb: 栈顶d:不是我们想要的(a),因此我们将其添加到序列:中d并旋转以获取栈:acebd。 堆栈顶部a:是的!因此我们将其添加到序列中:da并将其从堆栈中删除:cebd。 栈顶c:不是我们想要的(e),因此我们将其添加到序列:中dac并旋转以获取栈:ebdc。 堆栈顶部e:是的!因此我们将其添加到序列中:dace并将其从堆栈中删除:bdc。 栈顶b:不是我们想要的(c),因此我们将其添加到序列:中daceb并旋转以获取栈:dcb。 栈顶d:不是我们想要的(c),因此我们将其添加到序列:中dacebd并旋转以获取栈:cbd。 堆栈顶部c:是的!因此我们将其添加到序列中:dacebdc并将其从堆栈中删除:bd。 栈顶b:不是我们想要的(d),因此我们将其添加到序列:中dacebdcb并旋转以获取栈:db。 堆栈顶部d:是的!因此我们将其添加到序列中:dacebdcbd并将其从堆栈中删除:b。 堆栈顶部b:是的!因此我们将其添加到序列中:dacebdcbdb并将其从堆栈中删除:。 我们完成了。结果是dacebdcbdb。 参考实施 def letters(target, stack): string = '' while stack: string += stack[0] if stack[0] == target[0]: stack.pop(0) target = target[1:] else: stack.append(stack.pop(0)) return string print letters('aecdb', list('daceb')) 在线尝试! 测试用例 try,yrt→yrtyry 1234,4321→4321432434 ABCDEFGHIJKLMNOPQRSTUVWXYZ,RUAHYKCLQZXEMPBWGDIOTVJNSF→RUAHYKCLQZXEMPBWGDIOTVJNSFRUHYKCLQZXEMPWGDIOTVJNSFRUHYKLQZXEMPWGIOTVJNSFRUHYKLQZXMPWGIOTVJNSRUHYKLQZXMPWIOTVJNSRUYKLQZXMPWOTVNSRUYQZXPWOTVSRUYQZXPWTVSRUYQZXWTVSRUYZXWTVSUYZXWTVUYZXWVYZXWYZXYZ …

30
输出语言名称乘以字符数[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 2年前关闭。 挑战: 您的任务是使用任何一种语言来输出该语言的名称乘以其名称中字符的数量。 使用该语言的通用名称或缩写。 如果一种语言有多个版本,则无需包含版本号。 大写很重要。 例子: PHP -> PHPPHPPHP Java -> JavaJavaJavaJava C++ -> C++C++C++ Python 3 -> PythonPythonPythonPythonPythonPython JavaScript -> JavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScript

29
围绕枢轴反转字符串的两个部分
背景 我目前正在参加AP Comp Sci A:Java课程,并且想结识一些打高尔夫球的朋友。我在课程中遇到了挑战,我想看看社区可以在其中挑战多少字节。 挑战详情: 给定两个输入字符串,即主字符串和枢轴字符串,请执行以下操作: 如果枢轴字符串恰好是主字符串的子字符串一次,则主字符串中位于枢轴字符串之前的部分应与之后的部分交换,同时保留要交换的子字符串中的顺序。 例如: 如果转角字符串为空或枢轴字符串不是主字符串中发现,该方案不必有定义的行为。 如果枢轴字符串的实例不止一个,则拆分应在枢轴的第一个实例和仅第一个实例处进行。 示例:给定主字符串OneTwoThreeTwoOne和数据透视字符串Two,输出应为ThreeTwoOneTwoOne。 给定主字符串1Two2Two3Two4和枢轴Two,输出应为2Two3Two4Two1。 给定主字符串OneTwoThree和枢轴字符串“ Two”,输出应为ThreeTwoOne。给定主弦the rabbit is faster than the turtle和枢轴弦 is faster than (请注意尾随空格),输出应为the turtle is faster than the rabbit。 给定主字符串1-2-3-4-5-6和枢轴-,输出应为2-3-4-5-6-1。 后记: 这是我对代码高尔夫的第一个问题,因此,如果您有任何建议或建设性的批评,请随意发表。 另外,可以在下面找到我用于该项目的代码(使用Java编写,因为本课程着重于此)。如果您有任何提示,我很乐意看到它们。它目前的363字节,但我敢打赌,你们可以提出更好,更小的解决方案。 import java.util.Scanner;interface Main{static<T>void D(T f){System.out.println(f);}static void main(String[]A){Scanner s=new Scanner(System.in);D("Enter the first String:");String a=s.nextLine();D("Enter the pivot …
17 code-golf  string 

11
神奇的电子邮件转换!或者:帮助NSA从您的电子邮件地址中提取您的元数据
给定一个电子邮件地址,应用于该电子邮件地址的转换结果以及第二个电子邮件地址,将返回应用于第二个电子邮件地址的相同转换的输出。 电子邮件地址都将具有以下结构: 一串正长度的字符串,包含字母数字字符和最多一个.(局部部分),后跟一个@符号,然后是一串正长度的字符串,其中包含字母数字sumbols(域),后跟一个.符号,最后是一串正长度的字符串包含字母数字字符(TLD)。 有四个允许的转换: 身份(不变)。(a.b@c.d -> a.b@c.d) 仅返回本地部分(之前的所有内容) @未修改(a.b@c.d -> a.b))。 返回本地部分拆分 .如果存在),并用大写的每半个符号表示。(a.b@c.d -> A B)。 仅返回域(介于@和最终之间的所有内容.未修改)。(a.b@c.d -> c)。 如果可能进行多个转换,则可以给出任何可能性的输出。输出开头和结尾的空格无关紧要,但是中间的空格就无关紧要(即,如果拆分a.b为A B中间,则中间应该只有一个空格[并且输出的开头和结尾应该是空格),但是如果拆分a.,那么A在任何一侧都可以有任意数量的空格)。 范例(input | output): john.doe@gmail.com, John Doe, phillip.maini@gmail.com | Phillip Maini John.Doe@gmail.com, John Doe, Phillip.Maini@gmail.com | Phillip Maini foo.bar@hotmail.com, foo.bar, gee.whizz@outlook.com | gee.whizz foo.bar@hotmail.com, foo.bar, gEe.Whizz@outlook.com | gEe.Whizz rodney.dangerfield@comedy.net, comedy, …
17 code-golf  string 

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

14
您是奥运会的东道主!
您主办奥林匹克运动会,并且需要为此建立一个梦幻般的游泳池,但是主管们经常改变尺寸的主意,并需要一种快速的方法来按要求的尺寸进行重建! 给定两个整数L和x,您的任务是建立一个长度L和x车道的游泳池。 游泳池如何建造? 它包含一个内部正方形,该内部正方形的水平壁由L连续的破折号(-)组成,而垂直壁由3x - 1条形(|)组成。此外,+每个角落都有4个标志。让我们举一个例子(L = 10, x = 2): + ---------- + | | | | | | | | | | + ---------- + 每个通道的宽度为2个垂直单位。内部正方形x-1由车道分隔符填充,该分隔符由L水平连续的:符号组成。放置通道分隔符后,我们的池应如下所示: + ---------- + | | | | | :::::::::: || | | | | + ---------- + 池还包含一个填充(一个外部正方形),其填充水平(L + 4)-秒,垂直填充壁(3x +1)|秒,围绕内部正方形: + …

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.