Skip to content

Commit 7cb0971

Browse files
committed
10 part1
1 parent 266c557 commit 7cb0971

File tree

4 files changed

+341
-0
lines changed

4 files changed

+341
-0
lines changed

src/10/input.data

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
noop
2+
noop
3+
addx 15
4+
addx -10
5+
noop
6+
noop
7+
addx 3
8+
noop
9+
noop
10+
addx 7
11+
addx 1
12+
addx 4
13+
addx -1
14+
addx 1
15+
addx 5
16+
addx 1
17+
noop
18+
noop
19+
addx 5
20+
addx -1
21+
noop
22+
addx 3
23+
noop
24+
addx 3
25+
addx -38
26+
noop
27+
addx 3
28+
addx 2
29+
addx 5
30+
addx 2
31+
addx 26
32+
addx -21
33+
addx -2
34+
addx 5
35+
addx 2
36+
addx -14
37+
addx 15
38+
noop
39+
addx 7
40+
noop
41+
addx 2
42+
addx -22
43+
addx 23
44+
addx 2
45+
addx 5
46+
addx -40
47+
noop
48+
noop
49+
addx 3
50+
addx 2
51+
noop
52+
addx 24
53+
addx -19
54+
noop
55+
noop
56+
noop
57+
addx 5
58+
addx 5
59+
addx 2
60+
noop
61+
noop
62+
noop
63+
noop
64+
addx 7
65+
noop
66+
addx 3
67+
noop
68+
addx 3
69+
addx -2
70+
addx 2
71+
addx 5
72+
addx -38
73+
noop
74+
noop
75+
noop
76+
addx 5
77+
addx 2
78+
addx -1
79+
addx 2
80+
addx 30
81+
addx -23
82+
noop
83+
noop
84+
noop
85+
noop
86+
addx 3
87+
addx 5
88+
addx -11
89+
addx 12
90+
noop
91+
addx 6
92+
addx 1
93+
noop
94+
addx 4
95+
addx 3
96+
noop
97+
addx -40
98+
addx 4
99+
addx 28
100+
addx -27
101+
addx 5
102+
addx 2
103+
addx 5
104+
noop
105+
noop
106+
addx -2
107+
addx 2
108+
addx 5
109+
addx 3
110+
noop
111+
addx 2
112+
addx -25
113+
addx 30
114+
noop
115+
addx 3
116+
addx -2
117+
addx 2
118+
addx 5
119+
addx -39
120+
addx 29
121+
addx -27
122+
addx 5
123+
noop
124+
noop
125+
noop
126+
addx 4
127+
noop
128+
addx 1
129+
addx 2
130+
addx 5
131+
addx 2
132+
noop
133+
noop
134+
noop
135+
noop
136+
addx 5
137+
addx 1
138+
noop
139+
addx 2
140+
addx 5
141+
addx -32
142+
addx 34
143+
noop
144+
noop
145+
noop
146+
noop

src/10/solve.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { FileReader } from "../common";
2+
3+
class Solve10 extends FileReader {
4+
constructor() {
5+
super();
6+
this.readData("src/10/input.data")
7+
.then((data) => {
8+
this.process(data.split("\n"));
9+
})
10+
.catch((err) => console.log(err));
11+
}
12+
13+
process = (data: string[]) => {
14+
let pc = 0
15+
let cycles = 0;
16+
let X = 1
17+
let hold = false
18+
let param: number | undefined = undefined
19+
let result = 0
20+
21+
while (hold || pc < data.length) {
22+
cycles+=1
23+
if ((cycles - 20) % 40 === 0) {
24+
result += cycles * X
25+
}
26+
27+
if (hold) {
28+
if (param !== undefined) {
29+
X += param
30+
}
31+
hold = false
32+
} else {
33+
const row = data[pc++]
34+
const tmp = row.split(' ')
35+
const op = tmp[0]
36+
if ("addx" === op) {
37+
param = parseInt(tmp[1], 10)
38+
hold = true
39+
}
40+
}
41+
}
42+
console.log(result)
43+
};
44+
}
45+
46+
new Solve10();

src/10/test.data

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
addx 15
2+
addx -11
3+
addx 6
4+
addx -3
5+
addx 5
6+
addx -1
7+
addx -8
8+
addx 13
9+
addx 4
10+
noop
11+
addx -1
12+
addx 5
13+
addx -1
14+
addx 5
15+
addx -1
16+
addx 5
17+
addx -1
18+
addx 5
19+
addx -1
20+
addx -35
21+
addx 1
22+
addx 24
23+
addx -19
24+
addx 1
25+
addx 16
26+
addx -11
27+
noop
28+
noop
29+
addx 21
30+
addx -15
31+
noop
32+
noop
33+
addx -3
34+
addx 9
35+
addx 1
36+
addx -3
37+
addx 8
38+
addx 1
39+
addx 5
40+
noop
41+
noop
42+
noop
43+
noop
44+
noop
45+
addx -36
46+
noop
47+
addx 1
48+
addx 7
49+
noop
50+
noop
51+
noop
52+
addx 2
53+
addx 6
54+
noop
55+
noop
56+
noop
57+
noop
58+
noop
59+
addx 1
60+
noop
61+
noop
62+
addx 7
63+
addx 1
64+
noop
65+
addx -13
66+
addx 13
67+
addx 7
68+
noop
69+
addx 1
70+
addx -33
71+
noop
72+
noop
73+
noop
74+
addx 2
75+
noop
76+
noop
77+
noop
78+
addx 8
79+
noop
80+
addx -1
81+
addx 2
82+
addx 1
83+
noop
84+
addx 17
85+
addx -9
86+
addx 1
87+
addx 1
88+
addx -3
89+
addx 11
90+
noop
91+
noop
92+
addx 1
93+
noop
94+
addx 1
95+
noop
96+
noop
97+
addx -13
98+
addx -19
99+
addx 1
100+
addx 3
101+
addx 26
102+
addx -30
103+
addx 12
104+
addx -1
105+
addx 3
106+
addx 1
107+
noop
108+
noop
109+
noop
110+
addx -9
111+
addx 18
112+
addx 1
113+
addx 2
114+
noop
115+
noop
116+
addx 9
117+
noop
118+
noop
119+
noop
120+
addx -1
121+
addx 2
122+
addx -37
123+
addx 1
124+
addx 3
125+
noop
126+
addx 15
127+
addx -21
128+
addx 22
129+
addx -6
130+
addx 1
131+
noop
132+
addx 2
133+
addx 1
134+
noop
135+
addx -10
136+
noop
137+
noop
138+
addx 20
139+
addx 1
140+
addx 2
141+
addx 2
142+
addx -6
143+
addx -11
144+
noop
145+
noop
146+
noop

src/10/test2.data

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
noop
2+
addx 3
3+
addx -5

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy