Skip to content

Latest commit

 

History

History
71 lines (47 loc) · 1.91 KB

22.md

File metadata and controls

71 lines (47 loc) · 1.91 KB

⬅️ Regresar

22 - La iluminación en sintonía

Instrucciones

Verifica que todas las secuencias independientes de sistemas de iluminación navideña estén en orden estrictamente creciente. Tenemos dos arrays: systemNames y stepNumbers.

systemNames contiene los nombres de los sistemas de iluminación navideña, y stepNumbers contiene los números de paso de cada sistema.

Debemos verificar que los stepNumbers de cada sistema estén en orden estrictamente creciente. Si esto es cierto, devuelve true; de lo contrario, devuelve false.

Por ejemplo:

const systemNames = ["tree_1", "tree_2", "house", "tree_1", "tree_2", "house"]
const stepNumbers = [1, 33, 10, 2, 44, 20]

checkStepNumbers(systemNames, stepNumbers) // => true

// tree_1 tiene los pasos: [1, 2]
// tree_2 tiene los pasos: [33, 44]
// house tiene los pasos: [10, 20]

// true: Los pasos de cada sistema están en orden estrictamente creciente

checkStepNumbers(["tree_1", "tree_1", "house"], [2, 1, 10]) // => false

// tree_1 tiene los pasos: [2, 1]
// house tiene los pasos: [10]

// false: tree_1 tiene los pasos de forma decreciente

Ten en cuenta que:

  • La posición del nombre del sistema en systemNames y el número de paso en stepNumbers corresponden al mismo sistema.
  • Los pasos en stepNumbers pueden repetirse para diferentes sistemas.


Soluciones

function checkStepNumbers (systemNames, stepNumbers) {
	return systemNames.every((system, i) =>
		systemNames.indexOf(system) === i ? true
			: stepNumbers[i] > stepNumbers[systemNames.indexOf(system)])
}
function checkStepNumbers (systemNames, stepNumbers) {
	let order = {}
	return systemNames.every((system, i) => order[system]
		? order[system] < stepNumbers[i]
		: order[system] = stepNumbers[i])
}

Puntaje: 320


⬅️ Regresar