Skip to content

Commit 7948d29

Browse files
committed
Day 3 complete
1 parent 014ce5e commit 7948d29

File tree

2 files changed

+377
-0
lines changed

2 files changed

+377
-0
lines changed

3.py

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
import os
2+
3+
4+
#initial
5+
with open("3.txt") as file:
6+
lines = file.readlines()
7+
count = 0
8+
trees = 0
9+
miss = 0
10+
xpos = 0
11+
12+
for line in lines:
13+
count = count + 1
14+
line = line[:-1] #remove newline
15+
16+
if line[xpos % len(line)] == "#":
17+
trees = trees + 1
18+
line = line[:xpos % len(line)] + "X" + line[xpos % len(line) + 1:]
19+
else:
20+
miss = miss + 1
21+
line = line[:xpos % len(line)] + "O" + line[xpos % len(line) + 1:]
22+
xpos = xpos + 3
23+
#print(line)
24+
print(trees)
25+
26+
#part2
27+
def findTrees(x, y, lines):
28+
trees = 0
29+
xpos = 0
30+
lineCount = 0
31+
32+
for line in lines:
33+
line = line[:-1] #remove newline
34+
35+
if lineCount % y == 0:
36+
if line[xpos % len(line)] == "#":
37+
trees = trees + 1
38+
line = line[:xpos % len(line)] + "X" + line[xpos % len(line) + 1:]
39+
else:
40+
line = line[:xpos % len(line)] + "O" + line[xpos % len(line) + 1:]
41+
xpos = xpos + x
42+
lineCount = lineCount + 1
43+
#print(line)
44+
return trees
45+
46+
r1d1 = findTrees(1,1,lines)
47+
r3d1 = findTrees(3,1,lines)
48+
r5d1 = findTrees(5,1,lines)
49+
r7d1 = findTrees(7,1,lines)
50+
r1d2 = findTrees(1,2,lines)
51+
#print(str(r1d1),str(r3d1),str(r5d1),str(r7d1),str(r1d2))
52+
print(str(r1d1 * r3d1 * r5d1 * r7d1 * r1d2))
53+
54+

3.txt

+323
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,323 @@
1+
.##.#.........#.....#....#...#.
2+
.#.#.#...#.......#.............
3+
......#..#....#.#...###.......#
4+
.......###......#.....#..##..#.
5+
..#...##.......#.......###.....
6+
....###.#....###......#....#..#
7+
......#..#....#...##...........
8+
..#..#....#...#.....####.......
9+
...#........#.#.......#..#...#.
10+
......#...#........#...#..##...
11+
#..#........#............#...##
12+
..#..#.#....#...........#...###
13+
#.#..#...........#.##.#.#....#.
14+
.#.#....#...##.....#...........
15+
.....##....#...#..............#
16+
...#....#...#.#.#.#...#........
17+
#....#....#.#.#..#....#..#..#..
18+
.................#..#.....#....
19+
#..###...#.#..#.#......#.......
20+
...#..........#......#....#....
21+
.#.#.........##..#.......#...#.
22+
.#..........#...#..#...........
23+
....##.#.......................
24+
.......#...........#...#.......
25+
...#...#..##...#....###..#....#
26+
....#.#.....##...##.#.#........
27+
...........#.#..#.#......#..#..
28+
.....#.....#....#...#........#.
29+
..#......#..#.........#.....#..
30+
.........................#...#.
31+
#...#...#....#........##....#..
32+
#..#.#.............#..........#
33+
.#.........#.....#..#.#.#..#.#.
34+
#...#..#.......####.#....##....
35+
##...##..#.#.#...#.#.....#..#.#
36+
.#..#....#.##........#...#....#
37+
#...#..##.#....##..#..#.#......
38+
.#........#.....#.#....##.##.#.
39+
...#...#........#..#.##.##.....
40+
....................#.#.#.#...#
41+
..####.#..##...#....#.....##...
42+
#......#.....#.#......#.#..#.##
43+
..#.....#..#...........##.#....
44+
#....#........#............#...
45+
..##....#..............#......#
46+
..#......#.#.......####......#.
47+
..............##....#....##.#..
48+
.#...............#....#....#.#.
49+
..#.#.#..#.......##.#..........
50+
.#...#.......#.#....#.##.......
51+
.....#.##...#...........#.#....
52+
..#.#..#...#..##...#.#.......##
53+
.#.....#....#.#......#.#.......
54+
....##.........#.#.............
55+
.......##.......#..............
56+
..........#......#......#....##
57+
..##.....#..#.#..........#.....
58+
...#....#.......#....##........
59+
.......#...........#...........
60+
...#.#......#.#........#....#..
61+
.....#...........#.#.#...#.#..#
62+
.#.#...#.#.#..........#.....###
63+
#........#...#.................
64+
...##.....#.....#..#..#.......#
65+
......##...........#..#....##..
66+
.........#............##...#...
67+
.....#.....##...##.............
68+
.#....#..#.#.#.#...#..#..#.....
69+
.....#..#.#..#....#..#.........
70+
....#.....#......#...#.........
71+
#..#..#.................#......
72+
.###.....#...#.#........##.#...
73+
..#...#....#.##..#.....#.#....#
74+
..#...##.................#.#...
75+
....##..........#..#..#..#....#
76+
....#..##....##.....#.#....#...
77+
.#.#.#.....##........#.##..##.#
78+
....#..#......#..#........#....
79+
.......#.....###.#....#.......#
80+
#....#.......#......##.#.......
81+
.##.#.........#.#..##..#....##.
82+
......#........#.#....#...#....
83+
.####.....#.........#.#......##
84+
##....#......#....#..#.#....##.
85+
...........###.#.....#..#......
86+
.......#...........#...........
87+
........###....#..#.#..........
88+
....#........#......#..........
89+
.........#......#..............
90+
...#...............#......#...#
91+
....#..##...#.........#...#....
92+
##........#.#....#......###....
93+
....#.......................#..
94+
#................#.#..#......##
95+
...#.#.....#...#...........#.##
96+
.#....#.##......#...##.#....#..
97+
#...#....#..............#..#..#
98+
.......#....#.##............#.#
99+
.....#.#.......#.#...#.........
100+
...#.....#..##...##...#........
101+
..#.......#..####..#..#...#....
102+
#.#................##...##.#..#
103+
.....#.....##.#.....#......#..#
104+
....#.#...#.........#.........#
105+
..#......#............#.....#..
106+
.....#..........#.#..#..##...##
107+
........#................#.#...
108+
#...#.#....##...###...#.#......
109+
.............##.#..##..........
110+
#..#......#...........#......#.
111+
#.#....#..........#.##....###..
112+
.............#.........#....#..
113+
#........#..#.#..#...#....#....
114+
..............#..............##
115+
.....#...#..............#.##...
116+
#...##..#...........#..........
117+
..#....#...#.#........#..#.#..#
118+
..##......#...............#....
119+
....#...#..###..#......###.#...
120+
.......##..#.#........#....#...
121+
..##...#.......#...#...........
122+
.#.......#.....#.#...##..#....#
123+
.............#.......#.#.#....#
124+
#.......#..#..#...#.#......##..
125+
#.##..#..#..#....##.#...###.#.#
126+
...##...#..#..#........#.#..#..
127+
#....##........................
128+
##...#...#......#.#.....#..#...
129+
......#............#....#......
130+
#......#.......#.......##.#....
131+
..................#..#..#.#....
132+
..#..................##.#......
133+
..##........#.#.....##..#..#.#.
134+
#....#..............#....####..
135+
#..#..........................#
136+
..#.#.#.#....#.......#....#.#..
137+
.....#.#........#..........#.#.
138+
........#.....#.......#........
139+
#.....#....#.###.....#.......#.
140+
.....##.#...#.#..#...#.#.#.....
141+
......##...#.#...##..........#.
142+
.#............#.....#..#....#..
143+
.#................#.#..#.......
144+
....................##...##....
145+
#.......##...#.....#..#........
146+
.##....#.#.#.#...........#...#.
147+
..#.#..#.#.........#...........
148+
...#......#.....#...##.........
149+
..........#.#.....###.#........
150+
.............#.....##..........
151+
.........#...####........#.####
152+
...................#....#......
153+
.....#.........#.#....#..#...#.
154+
.##...#.......##.#...#.#.#..#..
155+
.....##........#....#...#.##.#.
156+
#...#...#.#....#..............#
157+
#..#.##.............#..........
158+
..#...#..#.#.##..............##
159+
#......#.#...##..........#.##..
160+
.##.#...#...#.........#.#......
161+
......#........##.#..#.........
162+
#..#.......#......#.#..#.#.....
163+
.#..#...........#.#.##.....#...
164+
.....................#..#.#....
165+
........#...##......#.....##...
166+
#.............#...##....##....#
167+
#.#...........#....##.#......##
168+
.....#.....#.#..........###..#.
169+
....#...#....##....#..##.......
170+
.#....#....#.......#.#.....#...
171+
.#...#.......##...##........#..
172+
......##.......#.##.#.###......
173+
....##.......#......#..........
174+
...................#..##.......
175+
......................#...##...
176+
...##....#.#..#..#.............
177+
.#......##..........#...#......
178+
....##..#....#..#...#...####.#.
179+
...#.......#.......#........#.#
180+
#.........#..#...#...##...#.#.#
181+
....#...#.......#...#....#.....
182+
...#.....#.##..##.#.......##.##
183+
.......#....#........#.........
184+
.....#...#....#..#....#....#...
185+
.##....#...#........#...#.#...#
186+
.......##............#..#...#..
187+
#.#...#....#......#.#..........
188+
.#.##...........#........#.....
189+
.#....#.............#.#.##.....
190+
#.......###..#...###.........#.
191+
#..#.#.......#.........#...#..#
192+
..........#......#........#...#
193+
.#.#...#.##.......##...........
194+
.....#.........#.....#.........
195+
.........#.........#....##.#..#
196+
.#.......##..##..#.....#...#...
197+
.#.....##...#..#..............#
198+
..##...#..#..#.#...#..........#
199+
.#.......####......#......####.
200+
##..##........#.....#........#.
201+
..##.#..#.#....................
202+
...........#..#...##....##.....
203+
..#.#........#.........#....##.
204+
..#...#..##..###.#..###........
205+
......#..#.............#..##...
206+
.##.........#.#..#...#.##.###..
207+
.#...............#...........#.
208+
.#....#........#....#........##
209+
..#####.#.#..#.#........##...#.
210+
###....#....#...#..............
211+
.....#...##............#...#...
212+
##...........##.#.##.....#.....
213+
..............#..#.....#...#...
214+
...................#...........
215+
#..........##.........#........
216+
...#.........#..#.....#..#..#..
217+
....###.#......#......##....#..
218+
#......#..........#...#........
219+
...#.#...#..#..........##......
220+
.....##.....#.#............##..
221+
..#..#.###....#.#.#...##....#..
222+
...#........#....##.......#....
223+
.#.............#..##.......#...
224+
..#.#..###..#.....#...##.......
225+
.........#......##...#.#..#....
226+
.............#....##....#.#....
227+
#..#...#....#.#...#......##....
228+
.............#.#......#.....###
229+
#.##....#........#.............
230+
.....#...#.####...#.....#......
231+
....#....###....##.......#.....
232+
..#....##..#....#.#.......#....
233+
...#.....#....#.........#......
234+
.#......#.#....#.#........#....
235+
.......#......#.....#.#..#.....
236+
#......#.........##.##.#...#...
237+
..#.###...................#....
238+
....#..#....##.#........#....#.
239+
...........#..........#......#.
240+
.#..#.#...###..........#..#...#
241+
...#...##..#....#...#..........
242+
.#........#.................##.
243+
....#.......##....#...#........
244+
#.#...##.##...#.#.......#...#..
245+
.....#.#.##.#......#..#..##....
246+
.....##...#.#.....#...#........
247+
#.#.......#..#..........##.....
248+
................#......#..#.#.#
249+
#......#...#...................
250+
...#.....##.#.........#.#..#..#
251+
...#..##..##.......#....#......
252+
....##...#....#..#...........#.
253+
..#..#......#...#..#...........
254+
...#.##....#...##.......#......
255+
.......#....#..#..##..#..#....#
256+
.#.................#.#...#.##..
257+
.....#..................#..#.#.
258+
...#......##...#...........#...
259+
..#.........#....#..#...#.....#
260+
..#...#.....#.........##.#.....
261+
.....#.#....##...............#.
262+
....#...#............#.........
263+
.....#.....###............#....
264+
..#.#.#.......#....#...........
265+
...........##...##...#.......#.
266+
.........###.#......#..........
267+
.#.......#....#.....#.##..#...#
268+
..#..................#..###....
269+
..#....#...#......##.........#.
270+
........#..#........#.........#
271+
.#..#......#.........#.........
272+
...#..##.....#....#....#.....#.
273+
......#.#............###.....##
274+
.......#........#.......#.#....
275+
..#.............#..............
276+
.............##..#.#.#....#....
277+
.................#....#.#......
278+
##..#.#.......#....#.....#.....
279+
.##............##.#.......#.#..
280+
#..#...........##......#.......
281+
.##......#####..##.#....#.#....
282+
.......##.....#...#........#...
283+
.#.#.....##....#..#....#..#...#
284+
............##.#.....##.#......
285+
........##...###.#......#......
286+
......#..#.#...#..#............
287+
.........#...........#......#..
288+
.#.........#............##.....
289+
.#..#..#...#.#.............#...
290+
......#.#..##...#.#...........#
291+
#.##.......#...#.........#.....
292+
.....#..#............#....##...
293+
.#......#........#.............
294+
..#...#....#..#.......###......
295+
....#.......###.#.#...........#
296+
.............#...##............
297+
.##.#.#.#...........#...#....#.
298+
............##.........#......#
299+
...............#......#...#....
300+
...#.....#..###..#...........#.
301+
.#........#.....##........#.#..
302+
....#.#.......#..#..#...##.#.#.
303+
.......##...........#...#......
304+
....#.#..##......#.......#.....
305+
..#........#.#......#.#........
306+
........#....#..#....#..##.....
307+
.#.........##..........#.#.....
308+
..##...##.....##......##..#....
309+
.###.....##...........##.#...##
310+
...#................#.......#..
311+
#.......#.#.#..#.#.##..#...#...
312+
.#.#.......#..#................
313+
..#.#.#......#............#....
314+
#.....#.###..#.#...#...........
315+
#...........#..........#.#.#.##
316+
..#.#...#......##.....#........
317+
........#.......#.#...#...#....
318+
..#..........#......###......#.
319+
..........##.#....#.....#.##...
320+
..#.....#......#.........#..##.
321+
.#...#........#..#.#..#...##..#
322+
..###........#......#.#........
323+
..#.##.#....#.#....#.#...#.....

0 commit comments

Comments
 (0)