AdventJS 2023 - Reto 3 馃槒 El elfo travieso
En el taller de Santa,聽un elfo travieso聽ha estado jugando en la cadena de fabricaci贸n de regalos, a帽adiendo o eliminando un paso no planificado.
Tienes la secuencia original de pasos en la fabricaci贸n聽original聽y la secuencia modificada聽modified聽que puede incluir un paso extra o faltar un paso.
Tu tarea es聽escribir una funci贸n que identifique y devuelva el primer paso extra que se ha a帽adido o eliminado en la cadena de fabricaci贸n. Si no hay ninguna diferencia entre las secuencias, devuelve una cadena vac铆a.
const original = 'abcd';
const modified = 'abcde';
findNaughtyStep(original, modified); // 'e'
const original = 'stepfor';
const modified = 'stepor';
findNaughtyStep(original, modified); // 'f'
const original = 'abcde';
const modified = 'abcde';
findNaughtyStep(original, modified); // ''
A tener en cuenta:
- Siempre habr谩 un paso de diferencia o ninguno.
- La modificaci贸n puede ocurrir en cualquier lugar de la cadena.
- La secuencia聽original聽puede estar vac铆a
Mi soluci贸n
function findNaughtyStep(original, modified) {
if (original === modified) return '';
let larger = original.length > modified.length ? original : modified;
let lower = original.length < modified.length ? original : modified;
for (let i = 0; i < larger.length; i++) {
if (larger[i] !== lower[i]) return larger[i];
}
}
Puntuaci贸n
- Puntos conseguidos:聽340
- 3063聽ops/s聽(M谩s alto es mejor)
- Complejidad cognitiva:聽6(M谩s bajo es mejor)
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.