Défi:
Avec une chaîne contenant uniquement des lettres majuscules et / ou minuscules (celle que vous préférez), mettez-la tape
horizontalement pour la corriger. Nous faisons cela en vérifiant la différence de deux lettres adjacentes dans l'alphabet ( en ignorant wrap-around et seulement aller de l' avant), et remplissant l'espace avec autant TAPE
/ tape
que nous aurions besoin.
Exemple:
Entrée: abcmnnnopstzra
sortie:abcTAPETAPETmnnnopTAstTAPETzra
Pourquoi?
- Entre
c
etm
devrait êtredefghijkl
(longueur 9), nous remplissons donc ceci avecTAPETAPET
; - Entre
p
ets
devrait êtreqr
(longueur 2), nous remplissons donc ceci avecTA
; - Entre
t
etz
devrait êtreuvwxy
(longueur 5), nous remplissons donc ceci avecTAPET
.
Règles du challenge:
- La différence ne s'applique que vers l'avant, donc pas de bande entre
zra
. - Il est possible d’avoir plusieurs lettres identiques identiques
nnn
. - Vous êtes autorisé à saisir les données dans n'importe quel format raisonnable. Peut être une chaîne unique, un tableau / une chaîne, un tableau / une liste, etc. La sortie offre la même flexibilité.
- Vous êtes autorisé à utiliser des minuscules et / ou des majuscules comme vous le souhaitez. Ceci s’applique à la fois à l’entrée, à la sortie et à
TAPE
. - Il est possible que cela ne
TAPE
soit pas nécessaire, auquel cas l'entrée reste inchangée.
Règles générales:
- C'est du code-golf , donc la réponse la plus courte en octets est gagnante.
Ne laissez pas les langues de code-golf vous décourager de poster des réponses avec des langues autres que le code de golf. Essayez de trouver une réponse aussi courte que possible à n'importe quel langage de programmation. - Les règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, fonctions / méthode avec les paramètres appropriés et des programmes complets de type de retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien vers un test pour votre code.
- Ajoutez également une explication si nécessaire.
Cas de test:
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
(ajouté le []
pour le rendre plus lisible).