Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 1.47 KB

02.md

File metadata and controls

70 lines (49 loc) · 1.47 KB

⬅️ Regresar

Reto #2: 🖼️ Enmarcando nombres

Instrucciones

Santa Claus 🎅 quiere enmarcar los nombres de los niños buenos para decorar su taller 🖼️, pero el marco debe cumplir unas reglas específicas. Tu tarea es ayudar a los elfos a generar este marco mágico.

Reglas:

  • Dado un array de nombres, debes crear un marco rectangular que los contenga a todos.
  • Cada nombre debe estar en una línea, alineado a la izquierda.
  • El marco está construido con * y tiene un borde de una línea de ancho.
  • La anchura del marco se adapta automáticamente al nombre más largo más un margen de 1 espacio a cada lado. Ejemplo de funcionamiento:
createFrame(['midu', 'madeval', 'educalvolpz'])

// Resultado esperado:
***************
* midu        *
* madeval     *
* educalvolpz *
***************

createFrame(['midu'])

// Resultado esperado:
********
* midu *
********

createFrame(['a', 'bb', 'ccc'])

// Resultado esperado:
*******
* a   *
* bb  *
* ccc *
*******

createFrame(['a', 'bb', 'ccc', 'dddd'])

Solución

function createFrame (names) {
	const max = Math.max(...names.map(name => name.length))
	const top = "*".repeat(max + 4)
	return top + "\n" + names.map(name => "* " + name.padEnd(max, " ") + " *\n").join("") + top
}

Puntaje: 🌟🌟🌟🌟🌟

2345 ops/s

Complejidad cognitiva: 3


⬅️ Regresar