En este desafío, debes pensar en las palabras como si fueran elásticos. ¿Qué sucede cuando estiras un elástico aplicando una fuerza de tracción constante en ambos extremos? Cada parte (o letra, en este caso) del elástico se expandirá, con la expansión mínima en los extremos y la máxima en el centro.
Si la palabra tiene una longitud impar, el carácter central efectivo de la palabra será el pivote que divide la palabra en dos mitades.
"ABC" -> Left = "A" | Center = "B" | Right = "C"Si la palabra tiene una longitud par, considerarás dos partes de igual longitud, donde el último carácter de la mitad izquierda y el primer carácter de la mitad derecha serán el centro.
"ABCD" -> Left = "AB" | Right = "CD"Representarás la expansión de una letra repitiéndola tantas veces como indique su posición numérica (es decir, contando los índices desde/hasta 1, y no desde 0 como es habitual) en su mitad, con un orden creciente en la mitad izquierda y un orden decreciente en la mitad derecha.
Word = "ANNA"
Left = "AN"
Right = "NA"
Left = "A" * 1 + "N" * 2 = "ANN"
Right = "N" * 2 + "A" * 1 = "NNA"
Word = Left + Right = "ANNNNA"Si la palabra tiene una longitud impar, el pivote (el carácter central) será el punto máximo (es decir, el valor más alto) que delimita las dos mitades de la palabra.
Word = "KAYAK"
Left = "K" * 1 + "A" * 2 = "KAA"
Pivot = "Y" * 3 = "YYY"
Right = "A" * 2 + "K" * 1 = "AAK"
Word = Left + Pivot + Right = "KAAYYYAAK"Dada una word, implementa una función que devuelva la versión elasticizada de la palabra como una cadena.
elasticize("ANNA") ➞ "ANNNNA"
elasticize("KAYAK") ➞ "KAAYYYAAK"
elasticize("X") ➞ "X"