Skip to content

Commit cbbf6bb

Browse files
committed
Challenge 06 solved
1 parent b648132 commit cbbf6bb

File tree

4 files changed

+48
-7
lines changed

4 files changed

+48
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Resolución de 25 retos javascript del juego [adventJS](https://adventjs.dev/) p
1111
| 03 | [El Grinch quiere fastidiar la Navidad](challenges/03/) | Normal | [Mostrar](challenges/03/solution.js) |
1212
| 04 | [¡Es hora de poner la navidad en casa!](challenges/04/) | Normal | [Mostrar](challenges/04/solution.js) |
1313
| 05 | [Contando los días para los regalos](challenges/05/) | Fácil | [Mostrar](challenges/05/solution.js) |
14-
| 06 | [Rematando los exámenes finales](challenges/06/) | Normal | |
14+
| 06 | [Rematando los exámenes finales](challenges/06/) | Normal | [Mostrar](challenges/06/solution.js) |
1515
| 07 | [Buscando en el almacén...](challenges/07/) | Normal ||
1616
| 08 | [La locura de las criptomonedas](challenges/08/) | Normal ||
1717
| 09 | [Agrupando cosas automáticamente](challenges/09/) | Difícil ||

challenges/06/README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ Si no se encuentra, se devuelve `null`.
1313
Veamos unos ejemplos:
1414

1515
```javascript
16-
sumPairs([3, 5, 7, 2], 10); // [3, 7]
17-
sumPairs([-3, -2, 7, -5], 10); // null
18-
sumPairs([2, 2, 3, 1], 4); // [2, 2]
19-
sumPairs([6, 7, 1, 2], 8); // [6, 2]
20-
sumPairs([0, 2, 2, 3, -1, 1, 5], 6); // [1, 5]
16+
sumPairs([3, 5, 7, 2], 10) // [3, 7]
17+
sumPairs([-3, -2, 7, -5], 10) // null
18+
sumPairs([2, 2, 3, 1], 4) // [2, 2]
19+
sumPairs([6, 7, 1, 2], 8) // [6, 2]
20+
sumPairs([0, 2, 2, 3, -1, 1, 5], 6) // [1, 5]
2121
```
2222

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

2525
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** 🤔?
2626

27+
## Solución aceptada
28+
29+
![Solución aceptada](./solution.png)
30+
2731
[Volver a la tabla de desafíos](/README.md)

challenges/06/solution.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,38 @@
1-
// Solution challenge 06
1+
function sumPairs(numbers, result) {
2+
for (var i = 0; i < numbers.length; i++) {
3+
for (var j = i + 1; j < numbers.length; j++) {
4+
if (numbers[i] + numbers[j] === result) {
5+
return [numbers[i], numbers[j]]
6+
}
7+
}
8+
}
9+
return null
10+
}
11+
12+
function sumPairsOneLoop(numbers, result) {
13+
for (var i = 0; i < numbers.length; i++) {
14+
const currentNumber = numbers[i]
15+
const searchedNumber = result - currentNumber
16+
numbers[i] = null
17+
18+
if (numbers.includes(searchedNumber)) {
19+
return [currentNumber, searchedNumber]
20+
}
21+
}
22+
23+
return null
24+
}
25+
26+
console.log(sumPairs([3, 5, 7, 2], 10)) // [3, 7]
27+
console.log(sumPairs([-3, -2, 7, -5], 10)) // null
28+
console.log(sumPairs([2, 2, 3, 1], 4)) // [2, 2]
29+
console.log(sumPairs([6, 7, 1, 2], 8)) // [6, 2]
30+
console.log(sumPairs([0, 2, 2, 3, -1, 1, 5], 6)) // [1, 5]
31+
32+
console.log('--------')
33+
34+
console.log(sumPairsOneLoop([3, 5, 7, 2], 10)) // [3, 7]
35+
console.log(sumPairsOneLoop([-3, -2, 7, -5], 10)) // null
36+
console.log(sumPairsOneLoop([2, 2, 3, 1], 4)) // [2, 2]
37+
console.log(sumPairsOneLoop([6, 7, 1, 2], 8)) // [6, 2]
38+
console.log(sumPairsOneLoop([0, 2, 2, 3, -1, 1, 5], 6)) // [1, 5]

challenges/06/solution.png

60.1 KB
Loading

0 commit comments

Comments
 (0)