commit 42b3eff19727f550ac0880d36bfa97fe09b9553f
parent 5797c6eea85391813f589527390d5f0d3d6d29d9
Author: finwo <finwo@pm.me>
Date: Sat, 10 Dec 2022 16:38:14 +0100
2022/10 solution
Diffstat:
3 files changed, 204 insertions(+), 0 deletions(-)
diff --git a/2022/day-10/index.js b/2022/day-10/index.js
@@ -0,0 +1,55 @@
+const fs = require('fs');
+const through = require('through2');
+const line_for_line = require('../common/line-for-line');
+
+let sum = 0;
+
+const machine = {
+ cycle: 1,
+ X: 1,
+
+ step() {
+
+ // // Part 1
+ // if ((this.cycle-20)%40 == 0) {
+ // process.stdout.write(`${sum} + (${this.cycle} * ${this.X}) = `);
+ // sum += this.cycle * this.X;
+ // process.stdout.write(`${sum}\n`);
+ // }
+
+ // Part 2
+ process.stdout.write(Math.abs(this.X - ((this.cycle-1)%40)) < 2 ? '#' : '.');
+ if (this.cycle % 40 == 0) process.stdout.write('\n');
+
+ this.cycle+=1;
+ },
+
+ addx(val) {
+ this.step();
+ this.step();
+ this.X+=val;
+ },
+
+ noop() {
+ this.step();
+ }
+};
+
+fs.createReadStream('input')
+ .pipe(line_for_line())
+
+ // Load grid
+ .pipe(through(function(line, enc, cb) {
+ line = line.toString();
+ const [aOp, aArg] = line.split(' ');
+ const iArg = parseInt(aArg);
+
+ machine[aOp](iArg);
+
+ cb();
+ }))
+
+ .on('finish', () => {
+ console.log({ sum });
+ console.log('finish');
+ });
diff --git a/2022/day-10/large b/2022/day-10/large
@@ -0,0 +1,146 @@
+addx 15
+addx -11
+addx 6
+addx -3
+addx 5
+addx -1
+addx -8
+addx 13
+addx 4
+noop
+addx -1
+addx 5
+addx -1
+addx 5
+addx -1
+addx 5
+addx -1
+addx 5
+addx -1
+addx -35
+addx 1
+addx 24
+addx -19
+addx 1
+addx 16
+addx -11
+noop
+noop
+addx 21
+addx -15
+noop
+noop
+addx -3
+addx 9
+addx 1
+addx -3
+addx 8
+addx 1
+addx 5
+noop
+noop
+noop
+noop
+noop
+addx -36
+noop
+addx 1
+addx 7
+noop
+noop
+noop
+addx 2
+addx 6
+noop
+noop
+noop
+noop
+noop
+addx 1
+noop
+noop
+addx 7
+addx 1
+noop
+addx -13
+addx 13
+addx 7
+noop
+addx 1
+addx -33
+noop
+noop
+noop
+addx 2
+noop
+noop
+noop
+addx 8
+noop
+addx -1
+addx 2
+addx 1
+noop
+addx 17
+addx -9
+addx 1
+addx 1
+addx -3
+addx 11
+noop
+noop
+addx 1
+noop
+addx 1
+noop
+noop
+addx -13
+addx -19
+addx 1
+addx 3
+addx 26
+addx -30
+addx 12
+addx -1
+addx 3
+addx 1
+noop
+noop
+noop
+addx -9
+addx 18
+addx 1
+addx 2
+noop
+noop
+addx 9
+noop
+noop
+noop
+addx -1
+addx 2
+addx -37
+addx 1
+addx 3
+noop
+addx 15
+addx -21
+addx 22
+addx -6
+addx 1
+noop
+addx 2
+addx 1
+noop
+addx -10
+noop
+noop
+addx 20
+addx 1
+addx 2
+addx 2
+addx -6
+addx -11
+noop
+noop
+noop
diff --git a/2022/day-10/small b/2022/day-10/small
@@ -0,0 +1,3 @@
+noop
+addx 3
+addx -5