DEV Community

Cristian Fernando
Cristian Fernando

Posted on

4 2

Advent.js🎅🏼| #6: Rematando los examenes finales

Rematando los examenes finales

Antes de poder disfrutar de la navidad... nos toca terminar de rematar los exámenes finales. ¡Y toca un poco de matemáticas! 😱

A una función se le pasan dos parámetros: un Array con números y el resultado que se espera.

La función debe devolver los dos valores del Array que sumen el resultado esperado. Como a veces pueden haber más de dos valores que sumen, se devolverá el primero empezando por la izquierda que encuentre otro par, sin importar lo lejos que esté a la derecha.

Si no se encuentra, se devuelve null.

Veamos unos ejemplos:

sumPairs([3, 5, 7, 2], 10) // [3, 7]
sumPairs([-3, -2, 7, -5], 10) // null
sumPairs([2, 2, 3, 1], 4) // [2, 2]
sumPairs([6, 7, 1, 2], 8) // [6, 2]
sumPairs([0, 2, 2, 3, -1, 1, 5], 6) // [1, 5]
Enter fullscreen mode Exit fullscreen mode

El resultado tiene que ser un array con dos números.

Una vez que tengas el resultado... ¿cómo podrías hacer que fuese lo más óptimo posible para no tener que recorrer las mismas situaciones dos veces 🤔?

Completa el reto!


Mi solución:


Puedes seguir a @midudev y estar pendiente de los retos de Advent.js

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (3)

Collapse
 
scabinimelina profile image
Scabini Melina

export default function sumPairs(numbers, result) {
for(let i=0; i<numbers.length; i++ ){
for(let j=i+1; j<numbers.length; j++ ){
if(numbers[i]+numbers[j]==result){
return [numbers[i],numbers[j]]
}
}
}
return null
}

Collapse
 
darkthemecoder profile image
BlackBarto

function sumPairs(numbers, result) {
// ¡Y no olvides compartir tu solución en redes!
let answer = null
let arrAux = [...numbers]
for (let e of numbers) {
let aux = result
let faltante = aux - e
arrAux.splice(numbers.indexOf(e), 1)
if (arrAux.includes(faltante)) {
answer = [e, faltante]
break
}
}
return answer
}

Collapse
 
kylety1990 profile image
kylety1990

const array = [3,5,2,8,9,6];
const result = 50;

function searchResult(array, result){
let elements = null;
array.every((val, ind)=>
array.every((num, i) => (val + num) === result && ind !== i? (elements = [val, num],false) : true
))
return elements;
}

console.log(searchResult(array, result));

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay