summaryrefslogtreecommitdiffstats
path: root/day9/day9-2.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <piotr.russ@betvictor.com> 2020-12-10 20:48:06 +0100
committerGravatar Piotr Russ <piotr.russ@betvictor.com> 2020-12-10 20:48:06 +0100
commitd0588d654684a5a6d5dfec3b983cb4f41d057ca6 (patch)
tree4c05811f25de85c1ca0f7fe3d314addd8d2d136b /day9/day9-2.js
parentb50c9c40ae474cd0e4eb543504e47dc6dbea31e9 (diff)
downloadadvent_of_code_2020-d0588d654684a5a6d5dfec3b983cb4f41d057ca6.tar.gz
advent_of_code_2020-d0588d654684a5a6d5dfec3b983cb4f41d057ca6.tar.bz2
advent_of_code_2020-d0588d654684a5a6d5dfec3b983cb4f41d057ca6.zip
day9
Diffstat (limited to 'day9/day9-2.js')
-rw-r--r--day9/day9-2.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/day9/day9-2.js b/day9/day9-2.js
new file mode 100644
index 0000000..a4626a7
--- /dev/null
+++ b/day9/day9-2.js
@@ -0,0 +1,44 @@
+const data = require('./data')
+const test = (d, i, nr) => {
+ if (i > nr) {
+ let sums = []
+ for (let a = i - nr - 1; a < i; a++) {
+ for (let b = i - nr - 1; b < i; b++) {
+ if (a !== b) {
+ sums.push(data[a] + data[b])
+ }
+ }
+ }
+ return sums.indexOf(data[i]) > -1 ? false : true
+ } else {
+ return false
+ }
+}
+
+const findNr = (nr) => (
+ data.find((d, i) => {
+ return test(d, i, nr)
+ })
+)
+
+const number = (findNr(25))
+
+//part2
+
+let result
+data.find((d, i) => {
+ let sum = 0
+ for (let a = i; a < data.length; a++) {
+ sum += data[a]
+ if (sum === number) {
+ const range = data.slice(i, a)
+ const min = Math.min(...range)
+ const max = Math.max(...range)
+ result = min + max
+ return true
+ }
+ }
+})
+
+console.log(result)
+