Questions tagged «string»

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

22
建立字母金字塔
今天,我们要用字母建造一座金字塔!这是前5个字母的示例字母金字塔: 在前5个字母之间写下一个空格,先升后降。 A B C D E D C B A 对上面一行的前四个字母执行相同的操作,但是要有两个额外的前导空格: A B C D C B A A B C D E D C B A 重复相同的步骤,直到最后一行只是'A' A A B A A B C B A A B C D C B A A B C D E …

6
电影标题样式字符串
挑战 有没有看过那些电影预告片标题(即火星人,星际等),它们之间的字母之间的巨大间隙慢慢散开? 面临的挑战是通过在字母之间插入适当数量的空格,在给定的字符串,间距倍数和方向的情况下重新创建这种效果。 例 输入:“ INTERSTELLAR”,间隙乘数:1.0,方向:向内增加 Output: I N T E R S T E L L A R 间距为:[1、2、3,...,3、2、1];用“。”替换空格。为了更好地展示间距: I.N..T...E....R.....S......T.....E....L...L..A.R 输入:“ INTERSTELLAR”,间隙乘数:0.5,方向:向内增加 Output: IN T E R S T E L L AR 间距乘以0.5,因此我们从整数除法得到[0,1,1,2,... 2,1,1,0];使用'。': IN.T.E..R..S...T..E..L.L.AR 输入:“ CODEGOLF”,间隙乘数:2.0,方向:向外增加 Output: C O D E G O L F 间距乘以2,向外增加,因此得到[8,6,4,2,4,6,8]; 替换为“。”: …

14
目录计算
对于此挑战,将为您提供一条绝对路径和一条“新”路径(可以是绝对路径,也可以是相对路径),并且您需要返回最终路径。 例如,如果您当前的目录是/var/tmp/test: my_dir 要么 my_dir/ 应返回/var/tmp/test/my_dir ../../my_dir 应该回来 /var/my_dir /my_dir/./ 应该回来 /my_dir ../../../../../ 应该回来 / 要更加学究: 目录是由字母数字字符的非空字符串和符号-,_或. 路径是0或多个目录的列表,用分隔/。绝对路径以a开头/,相对路径则不是。路径可以包含结尾/。 给定第一个路径,您需要“解析”第二个路径。 解决的过程是: 测试第二条路径是否相对。如果是这样,则将绝对路径的目录插入第二个路径的开头。 如果任何目录为..,则将其和上一个目录删除。如果它是第一个目录,则只需将其删除。 如果任何目录为.,则将其删除。 输出最终的绝对路径。您不应该输出结尾/。 您不需要处理不正确的输入。无论所传递的目录在您的计算机上是否实际存在,这些命令都应该起作用。您可以假定所有内容都是目录,即使它具有扩展名。 测试用例 Absolute New Output "/a/b/c" "d" -> "/a/b/c/d" "/a/b/c/" "d" -> "/a/b/c/d" "/a/b/c/" "d/" -> "/a/b/c/d" "/a/b/c" "/d" -> "/d" "/a/b/c" "/d/" -> "/d" "/../a/b/c/" …

11
你到底是什么问题?
介绍 当您收到无聊的文本时,您只想尽快解决它。让我们观察以下文本: Ens colligi timenda etc priorem judicem. De quascunque ii at contingere repugnaret explicetur intellectu. Adjuvetis hoc fortassis suspicari opportune obversari vix eam? Dei praemia prudens hominum iii constet requiri haberem. Ima sane nemo modi fuit lus pro dem haud. Vestro age negare tactum hoc cui lor. Ne et …

4
确定战争游戏的赢家
该卡的游戏战争是在最后的结局是完全由甲板的初始配置决定的,只要一定的规则并遵守在卡片从比赛场地拿起并移动到甲板的顺序有趣。在这次挑战中,将只有2个玩家,大大简化了事情。 游戏 每位玩家将获得26张牌。 每个玩家将顶牌正面朝上放置在卡组中。拥有较高排名卡(Ace > King > Queen > Jack > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2)的玩家赢得回合,并将其卡放置在对手卡的顶部,将其翻转,然后将其添加到其牌组的底部(因此,他们的获胜牌位于牌组的底部) ,而另一位玩家的输家牌正好在其上方)。直到玩家之一的卡用完为止。 如果这些牌的等级相同,则每个玩家将其牌组的前2张牌面朝上放置在其前一张牌的顶部(这样,位于牌组顶上的卡牌便是堆叠中的第二张牌,并且排名第二的卡片位于顶部)。然后,再次比较(每叠顶牌的排名),获胜者将其整个叠放在输家的整个叠层之上,将其上下颠倒,然后将其放在牌组的底部。如果还有其他平局,则以相同的方式玩更多的牌,直到选择获胜者或一个玩家的牌用完为止。 如果任一位玩家需要从其牌组中抽出一张牌,但其牌组为空,则他们立即输掉比赛。 挑战 给定玩家牌组中的两张纸牌列表,采用任何方便的格式,如果玩家1获胜,则输出真实值,如果玩家2获胜,则输出假值。 为方便起见,将用表示10张卡T,并且将面部卡缩写(Ace -> A, King -> K, Queen -> Q, Jack -> J),以便所有卡都长一个字符。或者,等级可以用十进制整数2-14(Jack -> 11, Queen -> 12, …

20
计算字符串的直方图熵估计
编写一个程序或函数来估计给定字符串的香农熵。 如果一个字符串有n个字符,d个 不同的字符,x i是第i个不同的字符,P(x i)是该字符出现在字符串中的概率,则我们对该字符串的香农熵估计为: 对于此挑战中的估计,我们假设一个字符出现在字符串中的概率就是该字符出现的次数除以字符总数。 句点后,您的答案必须准确到至少3位数字。 测试用例: "This is a test.", 45.094 "00001111", 8.000 "cwmfjordbankglyphsvextquiz", 122.211 " ", 0.0

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

2
写一个聊天坪柜台
您的任务是编写一个程序,给该程序一个聊天消息列表,计算每个人被ping通的次数,这样我就可以知道每个人的受欢迎程度。但是,由于必须秘密执行此操作,因此我需要使其尽可能小以隐藏代码。 眼镜 输入包含2个元组的列表,每个项目的形式为("username", "message")。 对另一个用户的ping定义为@后跟3个或更多明确表示该用户的字母。 但是,您还必须考虑答复,必须以:messageid空格开头。 假定第一条消息具有ID,0然后按顺序进行。 输出每个用户并说出每个用户ping多少次。 输出可以是任何顺序/合理的格式。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 [["AlexA.", "I am wrong"], ["Quartatoes", "@Alex you are very wrong"], ["AlexA.", ":1 I am only slightly wrong"]] AlexA.: 1 Quartatoes: 1 [["Doorknob", "I have never eaten an avocad."], ["AquaTart", ":0 I will ship you an avocad"], ["AlexA.", ":0 this …

3
匈牙利字母顺序
对于那些希望比旧的西班牙字母顺序更具挑战性的人,让我们看一下匈牙利字母的顺序。 a,á,b,c,cs,d,dz,dzs,e,é,f,g,gy,h,i,í,j,k,l,ly,m,n,ny,o,o, ö,ő,p,q,r,s,sz,t,ty,u,ú,ü,ű,v,w,x,y,z,zs 实际上,q,w,x而y不是在匈牙利词连用,但它们包含了外来语和外国名字。不属于匈牙利字母(如ñ)的外来带重音符号的字符与不带重音的字符具有相同的优先级,但是我们对此挑战视而不见。 规则总结如下: 有向图(cs,sz,等)和三字符(dzs)被认为是因为他们对自己的信件。 cudar cukor cuppant csalit csata 如果同一图或三部曲在一个单词中彼此直接出现两次,则它们将以简化方式书写:ssz代替szsz,ddzs而不是dzsdzs字母顺序使用非简化顺序。例如kasza< kaszinó< kassza,因为kassza被用作k+ a+ sz+ sz+ a订货的缘故。有时,如果是复合词,您可以在一个词中找到非合同版本。 kasza kaszinó kassza kaszt nagy naggyá nagygyakorlat naggyal nagyít 大写无关紧要,除非两个词在没有大写的情况下完全相同,在这种情况下,小写字母优先 jácint Jácint Zoltán zongora 重音的元音的短期和长期的版本具有相同的优先级(a - á,e -é,i - í,o - ó,ö - ő,u - ú ü - ű),有一个例外:如果两个词本来是完全一样的,短元音比长元音具有优先权。请注意,与元音(元音ö和ü)是由完全不同的人物o和u。 Eger egér író …

19
让我们建立一个楼梯
对于初学者,我们没有足够(半)轻松的挑战。越来越多的简单方法已经被采用。因此,我试图提出一些初学者可能可以实现的目标,但这并不是重复的。 输入: 用您的OS换行符(即\r\n)分隔的单个字符串, 或包含多个字符串的数组。 输出- 楼梯: 删除所有非字母和非数字符号。所以剩下的就是[A-Za-z0-9]。然后“建楼梯”;基本上按长度排序,顶部最小,底部最大。 挑战规则: 当两个字符串的长度相等时,我们将它们彼此合并为一个大字符串(顺序无关紧要,因此可以是从第一到最后或从最后到第一,无论您喜欢哪两个)。 当合并的字符串再次具有相等的长度时,上述规则可以堆叠(请参见测试案例2)。 通用规则: 输入为STDIN,仅包含ASCII字符。输出为STDOUT。 输出的大小写必须与输入的大小写相同。 每个提交必须是能够编译和运行的完整程序,而不仅仅是方法/功能。编辑:我是新手,所以即使我自己更喜欢完整的程序,也许从现在开始使用默认值确实更好。对不起,每个人都已经发布了完整程序。随时进行编辑,下次我将尽量不更改挑战中的帖子。 这是代码高尔夫球,因此最短的答案以字节为单位。我可能会接受一年后最短的答案。 不要让代码高尔夫球的答案阻止您发布像C#之类的高尔夫非代码高尔夫球语言!尝试提出所有编程语言的最短答案。 随意使用比该问题更新的语言。 测试用例: 输入1: This is a sample text, that you will have to use to build stairs. The wood may be of excellent quality, or pretty crappy almost falling apart and filled with termites. …

3
圆上的文字
编写一个程序或函数,在具有最小可能半径的离散圆周围打印输入字符串。例如,对于input This is an example,您的程序应输出: a si n s i e h x T a m p le 圈子产生 您应使用中点圆算法计算离散圆的每个点的坐标。您可以在Wikipedia页面上找到有关如何实现此算法的示例。 这是算法的伪代码(基于Wikipedia的C示例): integer x = radius integer y = 0 int decisionCriterion = 1 - x while y <= x point at coordinates (x,y) belongs to the circle // Octant 1 …

4
在无限制的字符串中找到缺失的数字
面临的挑战是在无界整数字符串中标识丢失的数字。 系统会为您提供一串数字(有效输入将匹配正则表达式^[1-9][0-9]+$)。该字符串表示整数序列。例如,1234567891011。序列中的所有数字都在范围1和2147483647包容性。 该序列是一系列数字,其中每个数字都比其前身大一个。但是,此序列可能包含一个且序列中只有一个缺失的数字。给定的字符串也可能不包含序列中的缺失数字。该字符串将始终包含序列中的至少两个数字。 该代码必须输出或返回缺失值,或者0(0如果没有缺失值,则该值是-而不是伪造的值)。 以下是有效的输入及其输出/返回: input output actual sequence (for refrence) 123467 5 1 2 3 4 _ 6 7 911 10 9 __ 11 123125126 124 123 ___ 125 126 8632456863245786324598632460 8632458 8632456 8632457 _______ 8632459 8632460 123 0 1 2 3 8632456863245786324588632459 0 8632456 8632457 8632458 8632459 尽管所有这些都被描述为输入的“字符串”,但如果该语言能够处理任意大的数字(dc并且mathematica,我正在看你们两个),则输入可能是任意大的数字,而不是字符串,如果这样代码更容易。 …

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

18
从输入字符串中删除n个以上连续的元音
我不喜欢连续三个以上元音的琴弦。您可以编写一个程序从单词中删除所有我不需要的元音吗? 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输入是仅包含可打印ASCII字符(包括0x20至0x7E)的字符串。 输出是一个字符串,其中最多只能包含3个连续的元音。如果输入字符串中连续运行的元音超过3个,则程序应生成一个输出字符串,其中包含该运行中遇到的前三个元音,并丢弃其他任何连续的元音。 对于此挑战,Y不是元音。 这是代码高尔夫,所以最短的代码(以字节为单位)获胜。 测试用例 "Aeiou" => "Aei" "screeeen" => "screeen" "We're queueing up for the Hawaiian movie." => "We're queung up for the Hawaiin movie." "Spaces break runs: aei iou." => "Spaces break runs: aei iou."
19 code-golf  string 

14
“ Hello world”创建了一个不同的“ Hello world”程序
创建一个程序,该程序输出一个hello world字符串(“ Hello world”,“ Hello,World”等)和源代码。输出被写入标准输出或等效输出。Hello world字符串嵌入在源代码中。 例如,的输出可能是 (some source code here)hello world(some source code here) 再次编译或解释输出时,它应该创建类似的输出,但是hello world字符串必须具有不同的标点符号或大写字母。例如,上一个示例可以创建以下输出 (some source code here)hello, wORld(some source code here) 这些示例中的每个“(此处有一些源代码)”可以在每次执行后更改,也可以相同。 您的输出必须只包含一次有效的hello world字符串。它可能包含任意数量的无效的hello world字符串。源代码可以包含任意数量的注释,并且hello world字符串可以嵌入注释中。第一个程序可以有零个或一个有效的hello world字符串,但不能再有。 以下标点符号有效: hello, world hello world helloworld 任何大写字母都可以接受。例如,以下是有效的hello world字符串: Hello, world hellO WORld HELLoworlD 这些字符串无效: Hello world Hello(newline)world Hello,world Hello, …

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.