AdventJS 2023 - Reto 2 🏭 Ponemos en marcha la fábrica
En el taller de Santa, los elfos tienen una lista de regalos que desean fabricar y un conjunto limitado de materiales.
Los regalos son cadenas de texto y los materiales son caracteres. Tu tarea es escribir una función que, dada una lista de regalos y los materiales disponibles, devuelva una lista de los regalos que se pueden fabricar.
Un regalo se puede fabricar si contamos con todos los materiales necesarios para fabricarlo.
const gifts = ['tren', 'oso', 'pelota'];
const materials = 'tronesa';
manufacture(gifts, materials); // ["tren", "oso"]
// 'tren' SÍ porque sus letras están en 'tronesa'
// 'oso' SÍ porque sus letras están en 'tronesa'
// 'pelota' NO porque sus letras NO están en 'tronesa'
const gifts = ['juego', 'puzzle'];
const materials = 'jlepuz';
manufacture(gifts, materials); // ["puzzle"]
const gifts = ['libro', 'ps5'];
const materials = 'psli';
manufacture(gifts, materials); // []
Mi solución
function manufacture(gifts, materials) {
let aux = [];
for (let gift of gifts) {
let check = true;
for (let c of gift) {
if (!materials.includes(c)) {
check = false;
}
}
if (check == true) {
aux.push(gift);
}
}
return aux;
}
Puntuación
Los retos son puntuados utilizando diferentes factores como la complejidad cognitiva y la velocidad de ejecución. El número de líneas no es un factor determinante.