10.1 and 10.2
This commit is contained in:
parent
35fb3ba9b1
commit
cd6e5dc535
3 changed files with 189 additions and 0 deletions
23
2022/10/index.js
Normal file
23
2022/10/index.js
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
|
||||||
|
const fs = require('fs/promises');
|
||||||
|
|
||||||
|
const sum = (arr) => arr.reduce((total, num) => total+num, 0);
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const input = await fs.readFile("./input.txt", 'utf8');
|
||||||
|
|
||||||
|
const simplified = input.replace(/noop/g, '0').replace(/addx (.*)/g, '0\n$1').split("\n").map(s => parseFloat(s));
|
||||||
|
|
||||||
|
simplified.unshift(1);
|
||||||
|
|
||||||
|
const targets = [20, 60, 100, 140, 180, 220];
|
||||||
|
|
||||||
|
const cycles = targets.map(t => simplified.slice(0, t));
|
||||||
|
|
||||||
|
console.log(cycles);
|
||||||
|
|
||||||
|
const total = sum(cycles.map(c => sum(c) * c.length));
|
||||||
|
|
||||||
|
console.log(total);
|
||||||
|
|
||||||
|
})();
|
22
2022/10/index2.js
Normal file
22
2022/10/index2.js
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
const fs = require('fs/promises');
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
const input = await fs.readFile("./input.txt", 'utf8');
|
||||||
|
|
||||||
|
const simplified = input.replace(/noop/g, '0').replace(/addx (.*)/g, '0\n$1').split("\n").map(s => parseFloat(s));
|
||||||
|
|
||||||
|
const cycleValues = simplified.reduce((vals, change, i) => {
|
||||||
|
vals.push(vals[i] + change);
|
||||||
|
return vals;
|
||||||
|
}, [1]);
|
||||||
|
|
||||||
|
console.log(cycleValues);
|
||||||
|
while(cycleValues.length) {
|
||||||
|
const row = cycleValues.splice(0, 40);
|
||||||
|
console.log(row.map((pos, i) =>
|
||||||
|
pos >= i - 1 && pos <= i + 1 ? "X" : "."
|
||||||
|
).join(""))
|
||||||
|
}
|
||||||
|
|
||||||
|
})();
|
144
2022/10/input.txt
Normal file
144
2022/10/input.txt
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx -10
|
||||||
|
addx 2
|
||||||
|
addx 14
|
||||||
|
noop
|
||||||
|
addx -38
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 20
|
||||||
|
addx -19
|
||||||
|
addx 28
|
||||||
|
addx -21
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -4
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -4
|
||||||
|
addx 11
|
||||||
|
addx -27
|
||||||
|
addx 28
|
||||||
|
addx -38
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 6
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -11
|
||||||
|
addx 6
|
||||||
|
addx 8
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx -37
|
||||||
|
addx 1
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -5
|
||||||
|
addx 13
|
||||||
|
addx 2
|
||||||
|
addx -8
|
||||||
|
addx 9
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx -2
|
||||||
|
addx -14
|
||||||
|
addx 21
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -38
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
noop
|
||||||
|
addx 11
|
||||||
|
addx -6
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
addx -10
|
||||||
|
addx 15
|
||||||
|
noop
|
||||||
|
addx -24
|
||||||
|
addx 17
|
||||||
|
addx 10
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx -38
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 7
|
||||||
|
addx 1
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
addx -21
|
||||||
|
addx 28
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
noop
|
||||||
|
noop
|
Loading…
Reference in a new issue