From aaabfa90c9033044d0a9d5fe6776b718711ef46c Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Thu, 10 Dec 2020 20:03:11 +0000 Subject: [PATCH] Day 10 part 1 --- 10/input | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 10/part1.js | 32 +++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 10/input create mode 100644 10/part1.js diff --git a/10/input b/10/input new file mode 100644 index 0000000..5b21a23 --- /dev/null +++ b/10/input @@ -0,0 +1,114 @@ +74 +153 +60 +163 +112 +151 +22 +67 +43 +160 +193 +6 +2 +16 +122 +126 +32 +181 +180 +139 +20 +111 +66 +81 +12 +56 +63 +95 +90 +161 +33 +134 +31 +119 +53 +148 +104 +91 +140 +36 +144 +23 +130 +178 +146 +38 +133 +192 +131 +3 +73 +11 +62 +50 +89 +98 +103 +110 +164 +48 +80 +179 +92 +194 +86 +40 +13 +123 +68 +115 +19 +46 +77 +152 +138 +69 +49 +59 +30 +132 +9 +185 +1 +188 +171 +72 +116 +101 +61 +141 +107 +21 +47 +147 +182 +170 +39 +37 +127 +26 +102 +137 +191 +162 +172 +29 +10 +154 +157 +83 +82 +175 +145 +167 diff --git a/10/part1.js b/10/part1.js new file mode 100644 index 0000000..3e9ff34 --- /dev/null +++ b/10/part1.js @@ -0,0 +1,32 @@ +const fs = require('fs'); + +fs.readFile('input', (err, data) => { + if (err) throw err; + let input = data.toString().trim().split("\n").map((line) => Number(line) ); + + let builtIn = Math.max(...input) + 3; + let adapters = new Set ( input ); + let jolts = 0; + let diff1s = 0; + let diff3s = 1; // The built-ion adapter + + for (i=0; i < input.length; i++) { + // All entries are unique, so no need to worry about jolts+0 + if (adapters.has(jolts+1)) { + diff1s++; + adapters.delete(jolts+1); + jolts++; + } else if (adapters.has(jolts+2)) { + adapters.delete(jolts+2); + jolts+=2; + } else if (adapters.has(jolts+3)) { + diff3s++; + adapters.delete(jolts+3); + jolts+=3; + } else { + throw ("oh no"); + } + }; + + console.log(diff1s * diff3s); +});