La tarea
Una cadena S
se construye con el siguiente proceso:
- Comienza
S
siendo la cadena vacía. - Inserte en alguna posición de
S
una cadena de la formads
, donded
es un dígito distinto de cero ys
es una cadena ded
letras minúsculas ASCII. Decimos queds
es un componente deS
. - Vaya al paso 2 o pare.
Su tarea es tomar una cadena como entrada y generar sus componentes concatenados en una sola cadena, en el orden de aparición de sus dígitos iniciales. La salida debe ser una sola cadena y no puede haber delimitadores (incluidas las nuevas líneas) entre los componentes. Puede elegir si las cadenas de entrada y salida tienen comillas. Tenga en cuenta que la entrada y la salida nunca estarán vacías.
Ejemplo
Construyamos una cadena con el proceso anterior. La estructura de los componentes se destaca en el resultado final.
S = "" // Insert "3abc"
S = "3abc" // Insert "2gh" after 'a'
S = "3a2ghbc" // Insert "1x" before '3'
S = "1x3a2ghbc" // Insert "3tty" after '3'
S = "1x33ttya2ghbc" // Final result
└┘│└┴┴┘│└┴┘││
└────┴───┴┘
La salida se obtiene concatenando los componentes en el orden de sus dígitos. En este caso, la salida correcta es
"1x3abc3tty2gh"
Reglas y puntaje
Puede escribir un programa completo o una función. gana el conteo de bytes más bajo y no se permiten las lagunas estándar.
Casos de prueba
1k -> 1k
4asdf -> 4asdf
111xyz -> 1z1y1x
8whatever3yes -> 8whatever3yes
8what3yesever -> 8whatever3yes
1x33ttya2ghbc -> 1x3abc3tty2gh
63252supernestedstrings2ok -> 6trings3eds2st5perne2su2ok
9long3yes4lo2ngwords11here -> 9longrdsre3yes4lowo2ng1e1h
9abc8de7fg6hi5jk4lm3o2pq1rstuvwxyzabcdefghijklmnopqrst -> 9abcopqrst8deijklmn7fgdefgh6hizabc5jkwxy4lmuv3ost2pq1r
if z in k:m+=N(z)+1
.N=int
realmente te ahorra 2 bytes. El cambio de nombreint
solo es beneficioso después de 4 usos.Java 8, 152 bytes
Explicación:
Pruébalo aquí
fuente
Python 2 ,
151147135 bytesPruébalo en línea!
Explicación:
El código mantiene dos listas de grupos constituyentes,
d and D
.Luego se escanea cada carácter de la cadena:
d
Cuando un grupo tiene la misma longitud que su dígito, el grupo se elimina de
d
.Al final,
D
se concatena, ya que los gruposD
están en el orden original.Ejemplo:
fuente