Dada una cadena de texto, imprímala como una 'torre'.
Cada segmento de la cadena (de la forma 0:n
) se repite varias 5*n
veces, por lo que el primer carácter se repite 5 veces, luego la primera y la segunda 10 veces, etc.
Ejemplos:
'hello' ->
['h']
['h']
['h']
['h']
['h']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
'cat' ->
['c']
['c']
['c']
['c']
['c']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
Reglas:
Puede generar cada capa como una lista de caracteres o simplemente como una cadena de ellos unida.
[["c","c","c","c","c"],["ca","ca","ca","ca","ca","ca","ca","ca","ca","ca"],...]
:?Respuestas:
R , 48 bytes
Pruébalo en línea!
Devuelve una lista de cadenas.
fuente
05AB1E , 6 bytes
Pruébalo en línea!
Devuelve una lista de cadenas.
Explicación
fuente
ηā5*ÅΓ
ηvyg5*Fy=
para 8.Haskell , 36 bytes
Pruébalo en línea!
fuente
Stax , 8 bytes
Ejecutar y depurarlo
Desempaquetado, sin golf y comentado, se ve así.
Ejecute este
fuente
TI-Basic (TI-84 Plus CE), 29 bytes (27 tokens)
Explicación:
fuente
Retina , 15 bytes
Pruébalo en línea! El enlace incluye casos de prueba. Explicación:
Une cada personaje en la cadena.
$`
es el prefijo del partido. Retina luego proporciona dos modificadores, lo>
modifica para que esté en el contexto de la cadena entre coincidencias sucesivas, mientras.
toma la longitud. Por lo tanto, comenzamos con el prefijo del sufijo, que es equivalente a la coincidencia, incluido su prefijo. Esto ahorra 2 bytes al usar coincidencias superpuestas. Los$(
concatena a continuación, que, con un carácter de nueva línea, las5*
repeticiones, y luego los$.>`
repite un número adicional de veces dadas por su longitud.fuente
Lienzo , 6 bytes.
Pruébalo aquí!
Explicación:
fuente
Brachylog , 15 bytes
Pruébalo en línea!
El final
c
se puede eliminar si OP responde positivamente a la pregunta sobre la salida de matrices 2D.fuente
Cubix ,
4440 bytesPruébalo en línea!
Esto todavía tiene muchas operaciones no operativas, pero es un poco mejor que antes.
Como una descripción muy breve, un personaje se toma de la entrada y se prueba para EOI (-1), deténgase si es así. La pila se invierte. Obtenga el número de elementos en la pila y multiplique por -5. Déjalo caer al fondo de la pila y limpia. Pase por la pila, imprimiendo, hasta obtener un número negativo. Imprima la nueva línea, incremente el número, si 0 cae el cero, invierta la pila y comience desde la entrada nuevamente, de lo contrario recorra la pila, imprima, hasta un número negativo ... hasta la saciedad
Cubificado parece
Míralo en línea
fuente
Jalea , 8 bytes
Pruébalo en línea!
Pruébalo en línea!
Pruébalo en línea!
Esto es probable golfable.
fuente
+\ẋ"Jx5Ẏ
JavaScript,
4846 bytes(gracias @redundancy)
Editar: El autor aclaró y esta respuesta ahora no es válida, pero la dejaré aquí sin cambios.
Devuelve una matriz de cadenas de varias líneas.
Intentalo
Estrategia potencial:
No me ayudó mucho, pero tal vez alguien pueda usar esto:
El número de caracteres en la línea (indexada a 0)
i
esfloor(sqrt(2/5*i+1/4)+1/2)
, que se reproduce en JavaScript como(.4*i+.25)**.5+.5|0
.Para una cadena de longitud
n
, hayn*(n+1)*5/2
líneas.Quizás:
s=>{for(i=0;(n=(.4*i+++.25)**.5+.5|0)<=s.length;)console.log(s.slice(0,n))}
fuente
Pitón 3 ,
4341 bytesGracias a los ovs por guardar 2 bytes!
Código
Pruébalo en línea!
fuente
C (gcc) , 67 bytes
Pruébalo en línea!
fuente
Casco , 8 bytes
Pruébalo en línea!
Explicación
fuente
Haskell,
464342 bytesPruébalo en línea!
Tristemente
inits
requiereimport Data.List
, entoncescon sus 45 bytes es más largo.
Editar: -1 byte gracias a @BWO.
fuente
Carbón , 11 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. La salida incluye 0 repeticiones de la subcadena de longitud cero. Explicación:
fuente
Ruby ,
4642 bytesPruébalo en línea!
fuente
PowerShell ,
402025 bytesPuntuación reducida a la mitad gracias a mazzy
+5 bytes gracias a AdmBorkBork que señala las especificaciones
Pruébalo en línea!
Toma entrada a través de salpicaduras. Funciona construyendo la cadena agregando el siguiente carácter a sí mismo, lo convierte en una matriz de un elemento y luego lo repite
5*i
veces.fuente
param
es muy caro. Trate de evitarloMATL , 12 bytes
Pruébalo en línea!
fuente
V , 17 bytes
Espera entradas sin nuevas líneas y salidas con nuevas líneas iniciales superfluas.
Puedo eliminar esta entrada si la entrada / salida viola la especificación de desafío.
Pruébalo en línea!
21 bytes
Espera entradas sin nuevas líneas, pero salidas con solo una nueva línea inicial y final.
Explicación
Las subcadenas diferentes se separan con dos líneas nuevas consecutivas, de modo que la duplicación en línea solo se aplica a las líneas que coinciden con la expresión regular
$\n\n
.Cuando el comando de duplicación (
Ä
) recibe un recuento, por ejemplo6Ä
, (creo) elimina la línea actual antes de pegar losn
tiempos, por lo que solo parece agregarn - 1
copias.fuente
Perl 5 , 29 bytes
Pruébalo en línea!
fuente
Perl 6 , 25 bytes
Pruébalo en línea!
Bloque de código anónimo que devuelve una lista de la lista de cadenas.
Si lo desea como una matriz 1D, puede agregarlo
flat
al frente de esta manera:Pruébalo en línea!
Explicación:
Alternativamente,
Pruébalo en línea!
También funciona para la misma cantidad de bytes.
fuente
Japt, 10 bytes
Esperando confirmación de si el formato de salida es aceptable (+2 bytes si no).
Intentalo
fuente
Japt ,
1512 bytes-3 bytes de @Shaggy
Pruébalo en línea!
fuente
JavaScript, 76 bytes
fuente
i=1;i<=s.length;i++
puede seri=0;++i<=s.length;
.Adelante (gforth) , 48 bytes
Pruébalo en línea!
Explicación
Explicación del código
fuente
Java 10,
120929089 bytes-28 bytes gracias a @ OlivierGrégoire .
-1 byte gracias a @ceilingcat .
Pruébalo en línea.
Explicación:
fuente
s->{for(int i=1,j=1;i<=s.length();i+=j++<i*5?0:+(j=1))System.out.println(s.substring(0,i));}
>=
y en?j=1:0
lugar de<
y?0:+(j=1)
.brainfuck , 40 bytes
Pruébalo en línea!
fuente
APL (Dyalog Unicode) , SBCS de 14 bytes
Pruébalo en línea!
Mi primera publicación apl, así que avíseme si tiene alguna sugerencia
Cómo funciona:
fuente
↑
en realidad no es Separar en filas sino Combinar [lista de listas] en filas [de una matriz] , o más técnicamente Incrementar el rango a expensas de la profundidad .Rubí , 37 bytes
Pruébalo en línea!
fuente