Ir al contenido

"Staircase" un reto para JavaScript y su  String.prototype.repeat().

Aunque existen muchas mas alternativas para resolver este reto, en esta ocación hemos decidido utilizar una forma divertida para no depender de demasiados bucles, utilizando  el string.prototype.repeat() de JavaScript.
15 de julio de 2024 por
"Staircase" un reto para JavaScript y su  String.prototype.repeat().
Angel Bautista
| Todavía no hay comentarios
La escalera es un clásico en cualquier ruta de entrenamiento para el manejo de bucles. Usaremos el String.prototype.repeat() de JavaScript para resolverlo.

Esta es una escalera en donde el valor de n=4.


Note que la base y la altura contienen el mismo valor, es decir el valor de n=4. La escalera se forma  con el simbolo # alternandos espacios en blanco  y alineadolos a la derecha. Además, la última linea no precede de ninguna otra. El reto consiste en armar una función que pueda crear esta figura esta escalera a partir del valor de "n", donde "n" es un número entero. El único dato de entrada es el valor que se le asigne a "n" para determinar el ancho y la altura de la escalera. 

Pseudocódigo.

El pseudocódigo que ayuda resolver el problema:

  • arma función staircase(con el valor de n) {
  • recorre string con for(inicializa el indice igualandolo a uno;
  • si el valor del indice es mayor o igual al valor de n;
  • sumar y brincar una linea){
  • imprime en consola el resultado de concatenar:
  • "espacios en blanco" repetidos (valor de n menos valor de i) veces.
  • mas "simbolo hashtag" repetidos (valor de i) veces.
Código.

//arma función staircase con el valor de n
function staircase(n) {
//recorre el string con for(declara la variable indice e iguala a uno;
//si el valor del indice es mayor o igual que el valor de n;
//sumar y brincar una linea para iniciar de nuevo.
    for (let i = 1; i <= n; i++) {
//imprimir en consola el resultado de concatenar(
//"espacios en blanco" que se repiten (n-i) veces.
//mas "simbolo hashtag" que se repiten (i) veces.
        console.log(" ".repeat(n-i) + "#".repeat(i))
    }
}
Compartir
Etiquetas
Iniciar sesión dejar un comentario