Reto:
Dada una cadena que solo contiene letras mayúsculas y / o minúsculas (lo que prefiera), coloque tape
horizontalmente para arreglarlo. Hacemos esto mediante la comprobación de la diferencia de dos letras adyacentes en el alfabeto (ignorando envolvente y sólo en el futuro), y llenando el espacio con tanto TAPE
/ tape
como sería necesario.
Ejemplo:
Entrada: abcmnnnopstzra
Salida:abcTAPETAPETmnnnopTAstTAPETzra
¿Por qué?
- Entre
c
ym
debe serdefghijkl
(longitud 9), así que llenamos esto conTAPETAPET
; - Entre
p
ys
debe serqr
(longitud 2), así que llenamos esto conTA
; - Entre
t
yz
debe seruvwxy
(longitud 5), así que llenamos esto conTAPET
.
Reglas de desafío:
- La diferencia solo se aplica hacia adelante, por lo que no hay cinta entre ellos
zra
. - Es posible tener múltiples de las mismas letras adyacentes como
nnn
. - Se le permite tomar la entrada en cualquier formato razonable. Puede ser una sola cadena, cadena-matriz / lista, serie de caracteres / lista, etc. La salida tiene la misma flexibilidad.
- Puede usar minúsculas y / o mayúsculas de la forma que desee. Esto se aplica tanto a la entrada, salida y
TAPE
. - Es posible que no
TAPE
sea necesario, en cuyo caso la entrada permanece sin cambios.
Reglas generales:
- Este es el código de golf , por lo que gana la respuesta más corta en bytes.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de codegolf. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede usar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace a una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
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
(se agregó el []
para hacerlo más legible).