Skip to content

Commit c20347d

Browse files
committed
Day 3
1 parent a3dd606 commit c20347d

File tree

5 files changed

+365
-21
lines changed

5 files changed

+365
-21
lines changed

app/Main.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ performDay (Options d v) = case d of
131131
let action = (validate day >>= (days Map.!?))
132132
in case action of
133133
Nothing -> putStrLn "Invalid day provided. There are 25 days in Advent."
134-
Just (d, i) -> do
134+
Just (d', i) -> do
135135
let i' = fromMaybe i input
136136
putStrLn $ "\n***Day " ++ (printf "%02d" day) ++ "***"
137-
d v i'
137+
d' v i'
138138
putStrLn "************"
139139

140140
main :: IO ()

input/Day03.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+
.....#....#..#.#...##.#.#.....#

package.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ executables:
5757
- -threaded
5858
- -rtsopts
5959
- -with-rtsopts=-N
60+
- -Wall
6061
default-extensions:
6162
- EmptyCase
6263
- FlexibleContexts

src/Days/Day02.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module Days.Day02 where
1+
module Days.Day02 (runDay) where
22

33
import Control.Applicative ( (<|>) )
44
import qualified Program.RunDay as R ( runDay )

0 commit comments

Comments
 (0)