¡Hola Platzinauta!
.
🛡️🛡️🛡️Este es un escudo anti spoilers🛡️🛡️🛡️
.
Los bucles son una herramienta súper poderosa y súper útil cuando necesitas pasar de nivel con los lenguajes de programación, además, de estos dependen la complejidad algoritmica de tus soluciones a problemas más grandes, un concepto del cual deberás preocuparte en un futuro no muy lejano.
.
Este ejercicio en cuestión, es súper interesante pero tiene un detalle muy interesante el cuál puede que haga que tu solución no pase pero aquí te explico el porque y la solución planteada ¿Lograrás resolverlo?
.
Procedo a poner un gif de un loop
Explicación
Si resolviste el problema pero tu solución no pasa, puede ser por este sutil pero importante detalle que deje en la guía.
Recuerda que para hacer el salto de línea debes usar “\n”, no olvides removerla de la última parte.
Primero te explicaré la solución la cuál incluye métodos avanzados que aprenderás a lo largo de este camino y posibles alternativas al código de solución
.
export function printTriangle(size, character) {
// Inicializa mi array de elementos
const triangle = [];
// Empieza a iterar desde 1 hasta que el iterador sea igual a size
for (let i = 1; i <= size; i++) {
// inicializa una variable llamada "characters" que contendrá una cadena de caracteres repetidos.
// La cantidad de caracteres repetidos dependerá del valor de "i".
let spaces = " ".repeat(size - i);
// Después repetimos el carácter a pintar la cantidad de veces del iterador
let characters = character.repeat(i);
// Para después juntar el número de espacios y caracteres en un solo string
let figure = `${spaces}${characters}`;
// Y al final mandar esto al array inicial
triangle.push(figure);
}
// La prueba nos pide un string, por lo que usaremos join() para convertir
// El array en un string donde las comas sean reemplazadas por el salto de linea
return triangle.join("\n");
}
Es importante mencionar que el método .join() propio de los arrays reemplaza las comas por el carácter dado
Ejemplo:
const names = ["Nico", "Juan", "Oscar"]
console.log(names.join(" Hola "))
Este código nos devolverá lo siguiente
"Nico Hola Juan Hola Oscar"
Excluyendo el “Hola” al inicio y al final del string, si usas otra alternativa deberás pensar en omitir el salto de linea “\n” del inicio y final del string resultante
.
¿Cómo te fue con este reto?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?