挑战:
给定仅包含大写和/或小写字母的字符串(以您喜欢的为准),将其tape
水平放置即可修复。为此,我们检查字母表中两个相邻字母的差异(忽略环绕并仅向前移动),并在需要的位置填充TAPE
/ tape
。
例:
输入:abcmnnnopstzra
输出:abcTAPETAPETmnnnopTAstTAPETzra
为什么?
- 之间
c
和m
应该是defghijkl
(长度9),因此,我们用填补这一TAPETAPET
; - 之间
p
和s
应该是qr
(长度为2),因此我们用填补这一TA
; - 之间
t
并z
应uvwxy
(长度为5),所以我们填补了这一带TAPET
。
挑战规则:
- 差异仅适用于正向,因此之间没有胶带
zra
。 - 可能会有多个相同的相邻字母,例如
nnn
。 - 您可以采用任何合理的格式输入。可以是单个字符串,字符串数组/列表,字符数组/列表等。输出具有相同的灵活性。
- 您可以随意使用小写和/或大写字母。这适用于输入,输出和
TAPE
。 - 可能没有
TAPE
必要,在这种情况下,输入保持不变。
通用规则:
- 这是代码高尔夫球,因此最短的答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。您的来电。
- 默认漏洞是禁止的。
- 如果可能,请为您的代码添加指向测试的链接。
- 另外,如有必要,请添加说明。
测试用例:
Input: "abcmnnnopstzra"
Output: "abcTAPETAPETmnnnopTAstTAPETzra"
Input: "aza"
Output: "aTAPETAPETAPETAPETAPETAPEza"
Input: "ghijk"
Output: "ghijk"
Input: "aabbddeeffiiacek"
Output: "aabbTddeeffTAiiaTcTeTAPETk"
Input: "zyxxccba"
Output: "zyxxccba"
Input: "abccxxyz"
Output: "abccTAPETAPETAPETAPETAPExxyz"
Input: "abtapegh"
Output: "abTAPETAPETAPETAPETtaTAPETAPETAPETApeTgh"
Input: "tape"
Output: "taTAPETAPETAPETApe"
ab[TAPETAPETAPETAPET]TA[TAPETAPETAPETA]PE[T]gh
(添加[]
使其更易读)。