aboutsummaryrefslogtreecommitdiff
path: root/2020/8/solve.js
diff options
context:
space:
mode:
Diffstat (limited to '2020/8/solve.js')
-rw-r--r--2020/8/solve.js52
1 files changed, 0 insertions, 52 deletions
diff --git a/2020/8/solve.js b/2020/8/solve.js
deleted file mode 100644
index c03edcb..0000000
--- a/2020/8/solve.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const fs = require("fs");
-const data = fs.readFileSync("input", "utf8").split('\n');
-
-function run(code)
-{
- let acc = 0;
- let visited = [];
-
- let i = 0;
- while (!visited.includes(i)) {
- visited.push(i);
- if (!code[i])
- return { acc, i };
-
- const [op, cnt] = code[i].split(" ");;
- switch (op) {
- case "acc":
- acc += +cnt;
- break;
- case "jmp":
- i += +cnt - 1;
- break;
- default:
- break;
- }
- i++;
- }
- return { acc, i };
-}
-
-function partOne()
-{
- return run(data).acc;
-}
-
-function partTwo()
-{
- for (let i = 0; i < data.length; i++) {
- const [op, cnt] = data[i].split(" ");;
- if (op == "acc")
- continue; // Skip correction
-
- let fixed = [...data];
- fixed.splice(i, 1, `${op == "nop" ? "jmp" : "nop"} ${cnt}`);
- let results = run(fixed);
- if (results.i == fixed.length)
- return results.acc;
- }
-}
-
-console.log(partOne());
-console.log(partTwo());