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); });