1234567891011121314151617181920212223242526272829303132 |
- import { loadInput } from "../common.js";
- // const input = loadInput("./3/test_2.input", parseInput, true);
- const input = loadInput(3, parseInput);
- solve(input);
- /**
- * @param {string} memDump
- */
- function parseInput(memDump) {
- return Array.from(memDump.matchAll(/(?:(do(?:n't)?\(\))|(mul\(\d{1,3},\d{1,3}\)))/g));
- }
- function solve(validInstructions) {
- let sum = 0;
- let enabled = true;
- for(const match of validInstructions) {
- const instruction = match[0];
- if (instruction == "do()") { enabled = true; continue; }
- else if (instruction == "don't()") { enabled = false; continue; }
- if (enabled) {
- sum += eval(instruction);
- }
- }
- console.log("Sum of result of valid instructions:", sum);
- }
- function mul(a,b) { return a*b; }
|