+1
-1
day01/part1.ts
+1
-1
day01/part1.ts
+31
day01/part2.ts
+31
day01/part2.ts
···
1
+
import { readFileSync } from "fs";
2
+
3
+
const instructions = readFileSync("./input.txt", "utf8")
4
+
.split(/\n/)
5
+
.map((line) => ({
6
+
direction: line[0],
7
+
distance: Number(line.slice(1))
8
+
}));
9
+
10
+
let dialPosition = 50;
11
+
let dialAtZero = 0;
12
+
13
+
for (const { direction, distance } of instructions) {
14
+
const click = direction === "L" ? -1 : 1;
15
+
16
+
for (let i = 0; i < distance; i++) {
17
+
dialPosition += click;
18
+
19
+
if (dialPosition === -1) {
20
+
dialPosition = 99;
21
+
} else if (dialPosition === 100) {
22
+
dialPosition = 0;
23
+
}
24
+
25
+
if (dialPosition === 0) {
26
+
dialAtZero++;
27
+
}
28
+
}
29
+
}
30
+
31
+
console.log(dialAtZero);