diff --git a/06/code.js b/06/code.js new file mode 100644 index 0000000..319208d --- /dev/null +++ b/06/code.js @@ -0,0 +1,63 @@ +import { readFileSync } from 'node:fs'; + +let sampleMode = false; +let usedArray = []; + +const sampleArray = readFileSync('sample.txt').toString().split("\n"); +const inputArray = readFileSync('input.txt').toString().split("\n"); + +if (sampleMode) { + usedArray = sampleArray; +} else { + usedArray = inputArray; +} + +// Part One + +console.time("part1"); + +let total = 0; + +const problems = []; +for (const row of usedArray) { + const contents = row.trim().split(/\s+/); + console.log(contents); + for (let i = 0; i < contents.length; i++) { + const element = contents[i]; + if (!problems[i]) { + problems[i] = []; + } + problems[i].push(element); + } +} + +for (let problem of problems) { + problem = problem.reverse(); + const operator = problem.shift(); + let answer = operator === '+' ? 0 : 1; + for (const number of problem) { + if (operator === '+') { + answer += Number.parseInt(number); + } else { + answer *= Number.parseInt(number); + } + } + total += answer; +} + +console.timeEnd("part1"); +console.log(total); + + +// Part Two + +console.time("part2"); +for (const element of usedArray) { + const contents = element.split(" "); + +} + +console.timeEnd("part2"); +console.log(); + +// functions