Questions tagged «string»

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

16
找到波浪的话!
(注意:这是我之前的挑战“ 找到无限的单词!”的一个简单衍生品,这是我之前的其他挑战“ 找到旋转的单词!”的一个衍生产品:)) 波浪字的定义: 如果您用曲线连接字母(AZ)上的波浪字的所有字符,您将获得不断向右或向左而不改变方向的波浪路径,如下图所示。 一个波浪字可以是: 提高每个连续字符是否在前一个字符的右侧(字母上)。 减少每个连续字符是否在前一个字符的左侧(字母上)。 所有偶数连接必须断开,所有奇数连接必须断开。 您可以忽略大写/小写或全部考虑/转换为大写或全部转换为小写。 输入的单词仅是AZ字母范围内的字符,没有空格,标点符号或符号。 如果单词包含双精度字符,例如“ SPOON”,则必须将双精度折叠为一个字符:“ SPOON”>“ SPON”(因为从O到O的距离为零距离)。 该波浪词将含有至少3个不同的字符(双打塌陷甚至之后)。 这里有一些例子: 任务: 编写一个完整的程序或函数,该函数将从标准输入中提取一个单词,如果不是波浪形单词,则将输出,如果是波浪形单词,则将其输出;如果是上升或下降,则将输出。输出可以是True/False/Null,2/1/0,1/Null/0,-1/0/1,NO/WR/WD,等你决定如何来代表它。 测试用例: WAVY WORDS: ADEPT, BEGIN, BILL, BOSS, BOOST, CHIMP, KNOW, SPONGE, SPOON, TROLL, WOLF ADEPT > YES > RAISING BEGIN > YES > RAISING BILL > YES > RAISING BOSS > …
18 code-golf  string 

6
我的世界城堡分形
由PPCG同伴的YouTube视频所致... 您面临的挑战是使用ASCII艺术画出Andesite和Diorite的Minecraft城堡墙。墙的形状是Cantor Set。作为参考,通过重复以下N次来创建Cantor集: 当前步骤的三倍 用空格替换中间的一个 在其下方添加整行 这将为前四个步骤创建以下内容: * * * *** * * * * *** *** ********* * * * * * * * * *** *** *** *** ********* ********* *************************** 但是,您的挑战并不是那么简单。您会看到,在康托集变得非常大之后,反复查看相同的角色变得无聊。因此,我们将通过覆盖一系列交替的星号*和磅符号来更改此状态#。您应该水平每隔三个字符,垂直每行交替。(当然,空格保持不变)例如,第二个示例将变为: * * ### 第三个示例将变为: * * * * ### ### ***###*** 为了完整起见,下面是示例四和示例五: #4 * * * …

11
源代码GO!
让我们使用增强现实技术来狩猎隐藏在源代码中的小动物。编写一个quine程序,该程序输出自己的代码源,但5个连续的字符将被修改并显示PCG-mon除外:(^_^) 可以将5个连续的字符放置在源代码中的任何位置(从position 0到n-5,n即源代码的长度)。源代码的最小长度必须为5个字符。(^_^)长度大于等于2 的字符串或其任何子字符串不得出现在初始源代码中,而只能出现在输出中。 有效提交示例: 源代码my source code,输出my (^_^)e code 无效: 源代码(^_^) copy;,输出(^_^) (^_^) 获奖标准 以字节为单位的最短代码获胜。

26
英语到外国人翻译
简报 外星人已经定居在地球上,而且很奇怪,他们的字母和我们的字母完全一样。他们的语言也与我们的语言非常相似,但有一些非常独特且易于计算的差异。 挑战 取一个字符串并输出等效的外语。翻译工作如下: 用相应的词交换单词中的所有元音: Vowel | With --------+-------- a | obo e | unu i | ini o | api u | iki 您也可以编写其他翻译器来翻译Alien-> English,但是这是可选的。 例子 Input: Shaun Output: Shoboikin Input: Java Output: Jobovobo Input: Hello, World! Output: Hunullapi, Wapirld! 如果元音大写,则第一个字母大写。 Input: Alan Output: Obolobon Input: Australia Output: Oboikistroboliniobo …
18 code-golf  string 

4
最少的单词搜索
上周,我们使用英语中的前10,000个单词来创建最短的一维字符串。现在,让我们尝试2D挑战! 您需要做的是将上述所有单词都放入一个尽可能小的矩形中,以允许重叠。例如,如果您的单词是["ape","pen","ab","be","pa"],则可能的矩形将是: .b.. apen 上面的矩形得分为5。 规则: 一个单词中可以重叠多个字母 单词可以在8个方向中的任何一个方向 言语不能环绕 您可以在空白位置使用任何字符 您需要创建一个单词搜索,其中包含英语中排名前10,000个单词(根据Google)。 您的分数等于单词搜索中的字符数(不包括未使用的字符)。如果存在平局,或者提交被证明是最佳选择,则首先发布的提交将获胜。

4
我已经有一段时间找字母了
您知道,最近我们遇到了很多“字母”挑战。(一个 2 3 4 5。)虽然我喜欢挑战,而这些挑战是很好玩的,我认为它的时间节奏的变化。我们将来需要排除这些挑战。现在是自动化的时候了! 您会为我找到一些字母,并为自动化(和荣耀!)找到一些字母。字母很棘手,喜欢伪装自己。[需要引用]您需要考虑以下因素: 字母可以是大写或小写(但不能两者都写)。因此,您需要查找ABCDEFGHIJKLMNOPQRSTUVWXYZ和abcdefghijklmnopqrstuvwxyz,但不需要AbCdeFGhIJkLmNOpQRsTuvwxyZ。即,仅查找完全由一种情况组成的字母。 字母可以四处移动。它们可能并非总是以开头A,而是以G或开头U。因此,您必须寻找类似的东西OPQRSTUVWXYZABCDEFGHIJKLMN。 字母可能并不总是向前读。他们还可以向后,向上和向下阅读。例如,ZYXWVUTSRQPONMLKJIHGFEDCBA也是有效的字母。 这是一个带有字母的字符串的示例: JIHGFEDCBAZYXWVUTSRQPONMLK 这是一个向后的移位字母: JIHGFEDCBAZYXWVUTSRQPONMLK <--------|<--------------- 这还包含一个字母: F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 这是一个向下的字母: F | G | H | I | …
18 code-golf  string  grid 

30
第二个非重复字符是什么?
基于代码审查中的这个问题 给定一个可打印的ASCII字符的非空字符串,输出第二个非重复字符。例如,对于input DEFD,output F。 输入值 单个字符串,任何合适的格式。 输出量 从左到右读取时,第二个不会重复的字符也将以适当的格式显示。 输出字符不区分大小写。 如果不存在这样的字符(例如,所有字符都重复),则输出一个空字符串。 规则 该算法应忽略大小写。也就是说,D并d算作相同的字符。 完整的程序或功能都是可以接受的。 输入字符串将被保证为非空(即,至少一个字符的长度)。 输入字符串为ASCII。任何有效字符都可以重复,而不仅仅是字母数字(包括空格)。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常见的高​​尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 输入在第一行,输出在第二行。 DEFD F FEED D This is an example input sentence. x ...,,,..,,!@ @ ABCDefgHijklMNOPqrsTuVWxyz B AAAAAABBBBB Thisxthis This this. .

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

23
产生奇偶校验位
甲奇偶校验位,是的校验的最简单的形式之一。首先,您必须选择奇偶校验。假设我们选择了偶数。现在,我们需要一条消息来传输。假设我们的信息是“ Foo”。用二进制形式写成: 01000110 01101111 01101111 现在,我们计算其中1的s 的总数为15。由于15是一个奇数,因此我们必须在消息末尾添加一个额外的位,而现在我们将获得偶数个“ on”位。最后添加的位称为“奇偶校验位”。如果我们为校验和选择了奇数奇偶校验,则必须添加一个额外的“ 0”,以便打开位数保持为奇数。 挑战: 您必须编写一个程序或函数来确定字符串的正确奇偶校验位是多少。您的程序必须接受两个输入: 字符串,s。这是将计算校验和的消息。这将仅限于95个可打印的ASCII字符。 一个字符或单个字符串p,将e用于偶校验或o奇校验。 并产生代表正确奇偶校验位的真假值。如果是1,则为True,如果为,则为false 0。 不允许对字符串或字符中的“ on”位数进行计数的内建函数。例如,执行以下操作的函数f:f('a') == 3或被f('foo') == 16禁止。其他任何事情,例如基本转换,都是公平的游戏。 测试IO: (without the quotes) s: "0" p: 'e' output: 0 s: "Foo" p: 'e' output: 1 s: "Hello World!" p: 'o' output: 0 s: "Alex is right" p: 'e' …

6
对字符串进行长度编码
假设我们使用以下规则从另一个字符串中拉出一个字符串,该字符串仅包含ASCII可打印字符,并称为*-string。如果在进程停止之前字符串用完,则表示错误,并且在这种情况下,进程的结果是不确定的: 从...开始 d=1, s="" 每当遇到a时*,乘以d2。每当遇到另一个字符时,将其连接到的末尾s并从中减去1 d。如果现在d=0停止并返回s 定义的例子: d->d 769->7 abcd56->a *abcd56->ab **abcd56->abcd *7*690->769 ***abcdefghij->abcdefgh 未定义的示例:(请注意,空字符串也将是其中之一) *7 **769 *7* *a*b * 您的工作是获取一个字符串并返回*产生该字符串的最短-string。 程式范例: 7->7 a->a ab->*ab abcd->**abcd 769->*7*69 您的程序应处理任何至少包含一个字符且仅包含非*ASCII可打印字符的字符串。您永远不能返回未定义过程的字符串,因为根据定义,它们不能产生任何字符串。 适用标准漏洞和I / O规则。
18 code-golf  string 

15
合并两个字符串
介绍 假设S 1 = a...b和S 2 = ..c..。如果我们将它们放在彼此之上,则会得到: a...b ..c.. 我们合并两个字符串,以.液体字符(可以重叠)作为。我们得到这个: a.c.b 如果其中一个字符串比另一个字符串长,我们将应用相同的算法: a.....b ..c.. becomes: a.c...b 和 a.....b ..c....... becomes: a.c...b... 如果两个字符冲突,我们只使用底部字符,例如 a..b ...c becomes: a..c 任务 给定两个非空字符串,输出合并的字符串。注意,您可以假定输入仅包含句点和小写字母(如果更方便,则输入大写字母)。 测试用例 Input Output a....b ..c... a.c..b aaaaaa bbbbbb bbbbbb ab.ab. b.b.b. bbbab. a.......b c c.......b 这是代码高尔夫球,因此以最少的字节提交为准!
18 code-golf  string 

1
转置词云
背景 我想做一个漂亮的词云,像这样: these are words floating 我计算了(x,y)每个单词的第一个字母的-coordinates,将它们插入到我的词云生成器中,然后让它完成工作。但是,我不小心使用了(y,x)-coordinates,因此结果如下所示: these floating words are 由于我懒得重新计算坐标,因此我需要您为我移调“ cloud”一词。 输入值 您的输入是一个由小写ASCII字母和空格组成的矩形网格。这意味着每行都用空格填充以具有相同的长度。输入可以作为多行字符串或字符串数​​组。 甲字是字母一个水平段,其位置是在(x,y)其最左边的字母,网格之中的左上角的坐标- (0,0)。总会有至少一个单词,并且没有尾随空格或空格。但是,可能会出现前导的行或列的空间。 输出量 您的输出是另一个矩形的字符网格,通过将每个单词随位置移动(x,y)到位置而获得(y,x)。您的输出不得包含多余的尾随行或空格列。前导行和列必须保留,并且输出必须是矩形。 您可以假定此转换不会创建重叠的单词,也不会将多个单词合并为一个单词。这意味着在输出上运行程序应产生原始输入。 规则和计分 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 为了清楚起见(并且因为Stack Exchange不喜欢仅使用空格的行),所以每一行均以竖线字符结尾|。 这些不是实际输入或输出的一部分,您应该删除它们。再次注意,在每个输出上运行程序也应产生相应的输入。 Input: oneword| Output: oneword| Input: spaces| Output: | | spaces| Input: | row| Output: row| Input: these are| words | | floating | Output: …
18 code-golf  string  grid 

2
连锁词填字游戏风格
挑战 给定单词列表,["Programming", "Puzzles", "Code", "Golf"]输出单词crossword-style: 编程 ü ž ž l 电极 ls F 算法 您必须按给定顺序处理列表。 单词从水平开始以交替的方向打印。 这两个单词在第一个单词的第一个字母处相交,第二个单词也存在该单词。如果该字母在第二个单词中多次出现,请选择第一个。 示例: ["no", "on"]变为: o n o 而不是 n o n 补充说明 列表中的相邻单词将至少包含一个普通字母。["Hi", "there"]不是有效的输入。 言语永远不会碰撞。在第一个可能的交点处将始终有足够的空间来打印单词。["Hello", "there", "end", "hello"]不是有效的输入 匹配区分大小写。 单词可以向左扩展到顶部。 水平单词的字母必须用一个空格分隔。 输入列表将至少包含两个单词。 所有单词都将与正则表达式匹配: [A-Za-z]+ 您可以根据需要打印任意数量的尾随空格或换行符,只要单词已正确链接。 另一方面,您可能无法添加其他前导空格。最左边浮动的单词的前导空格为零,其他行的前导空格太多,所有行都正确排列。 您的程序必须能够处理任意数量的单词 规则 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 输入列表在第一行,输出从第二行开始。 …

13
模制ASCII艺术
系统会为您提供一个不包含换行符的可打印ASCII字符串,以及一个包含空格()和哈希(#)的多行“ mold” 。 您必须在字符串中一个接一个地输入字符,并使用字符串中的字符按从左到右,从上到下的顺序替换哈希。如果字符串太短而无法填充模具,则停止输出;如果字符串太长,则截断字符串以准确填充模具。 示例字符串/模具(字符串太长,被截断): Loremipsumdolorsitamet,consecteturadipiscingelit.Namsuscipitmagnanoneratgravidacondimentum.Vestibulumnecnisllorem.Fuscemolestieviverranibh,eueleifendnislplaceratnon.Namblanditturpislacus,vitaemolestielacusimperdietquis.Nullapulvinar,exquissollicitudinfacilisis,eratnullavolutpatlectus,etluctusenimvelitegetex.Inhachabitasseplateadictumst.Donecinterdumnullalacinia,sodalesloremin,eleifendturpis.Pellentesqueanisimi.Aeneannonlobortisdiam,quisaliquetquam.Aeneanaugueipsum,imperdietsedaliquetnon,volutpategetsapien.Nullampharetranullaquispretiumornare.Aliquamfermentumvestibulummassavitaevehicula. ########################################################### ##### ############## ###### ###### ###################### ##### ## ###### # ##### ###### ######## ###### ###### # # #### #### ##### ###### ####### ###### ##### ###### ### ### ##### ###### ####### ####### ##### ###### ##### ### ########### ###### ####### ### ###### ###### ###### ### ########## …

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

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.