Skip to content

Commit fa0e93d

Browse files
author
Gregory Igelmund
committed
Add day2 input/mix task
1 parent 4b83e7a commit fa0e93d

File tree

2 files changed

+303
-0
lines changed

2 files changed

+303
-0
lines changed

elixir/lib/mix/tasks/day2.ex

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# --- Day 2: Inventory Management System ---
2+
# You stop falling through time, catch your breath, and check the screen on the
3+
# device. "Destination reached. Current Year: 1518. Current Location: North
4+
# Pole Utility Closet 83N10." You made it! Now, to find those anomalies.
5+
#
6+
# Outside the utility closet, you hear footsteps and a voice. "...I'm not sure
7+
# either. But now that so many people have chimneys, maybe he could sneak in
8+
# that way?" Another voice responds, "Actually, we've been working on a new
9+
# kind of suit that would let him fit through tight spaces like that. But, I
10+
# heard that a few days ago, they lost the prototype fabric, the design plans,
11+
# everything! Nobody on the team can even seem to remember important details of
12+
# the project!"
13+
#
14+
# "Wouldn't they have had enough fabric to fill several boxes in the warehouse?
15+
# They'd be stored together, so the box IDs should be similar. Too bad it would
16+
# take forever to search the warehouse for two similar box IDs..." They walk
17+
# too far away to hear any more.
18+
#
19+
# Late at night, you sneak to the warehouse - who knows what kinds of paradoxes
20+
# you could cause if you were discovered - and use your fancy wrist device to
21+
# quickly scan every box and produce a list of the likely candidates (your
22+
# puzzle input).
23+
#
24+
# To make sure you didn't miss any, you scan the likely candidate boxes again,
25+
# counting the number that have an ID containing exactly two of any letter and
26+
# then separately counting those with exactly three of any letter. You can
27+
# multiply those two counts together to get a rudimentary checksum and compare
28+
# it to what your device predicts.
29+
#
30+
# For example, if you see the following box IDs:
31+
#
32+
# - abcdef contains no letters that appear exactly two or three times.
33+
# - bababc contains two a and three b, so it counts for both.
34+
# - abbcde contains two b, but no letter appears exactly three times.
35+
# - abcccd contains three c, but no letter appears exactly two times.
36+
# - aabcdd contains two a and two d, but it only counts once.
37+
# - abcdee contains two e.
38+
# - ababab contains three a and three b, but it only counts once.
39+
#
40+
# Of these box IDs, four of them contain a letter which appears exactly twice,
41+
# and three of them contain a letter which appears exactly three times.
42+
# Multiplying these together produces a checksum of 4 * 3 = 12.
43+
#
44+
# What is the checksum for your list of box IDs?
45+
46+
defmodule Mix.Tasks.Day2 do
47+
use Mix.Task
48+
49+
def run(_args) do
50+
{ :ok, input } = File.read("../inputs/day2.txt")
51+
IO.puts("My input: #{input}")
52+
end
53+
end

inputs/day2.txt

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
mphcuiszrnjzxwkbgdzqeoyxfa
2+
mihcuisgrnjzxwkbgdtqeoylia
3+
mphauisvrnjgxwkbgdtqeiylfa
4+
mphcuisnrnjzxwkbgdgqeoylua
5+
mphcuisurnjzxwkbgdtqeoilfi
6+
mkhcuisvrnjzowkbgdteeoylfa
7+
mphcoicvrnjzxwksgdtqeoylfa
8+
mxhcuisvrndzxwkbgdtqeeylfa
9+
dphcuisijnjzxwkbgdtqeoylfa
10+
mihvuisvrqjzxwkbgdtqeoylfa
11+
mphcuisrrnvzxwkbgdtqeodlfa
12+
mphtuisdrnjzxskbgdtqeoylfa
13+
mphcutmvsnjzxwkbgdtqeoylfa
14+
mphcunsvrnjzswkggdtqeoylfa
15+
mphcuisvrwjzxwkbpdtqeoylfr
16+
mphcujsdrnjzxwkbgdtqeovlfa
17+
mpfcuisvrdjzxwkbgdtteoylfa
18+
mppcuisvrpjzxwkbgdtqeoywfa
19+
mphcuisvrnjzxwkbfptqroylfa
20+
mphcuisvrnjzxwkbgstoeoysfa
21+
mphcufsvrnjzcwkbgdeqeoylfa
22+
mphcuissrnjzxwkbgdkquoylfa
23+
sphcuxsvrnjzxwkbgdtqioylfa
24+
mphcuiivrhjzxwkbgdtqevylfa
25+
echcuisvrnjzxwkbgltqeoylfa
26+
mphcuisvrljexwkbvdtqeoylfa
27+
mpjcuisvrnjzxwkhidtqeoylfa
28+
mphcuisvrfjzmwkbgdtqeoylfl
29+
mwhcuisvrnjzxwkbgdtqeoytfm
30+
mphcuisvrsjzxwkbgdaqeoylfh
31+
mohcuisvrnjzxwkbgdtqtoymfa
32+
maycuisvrnjzxwkbgdtqboylfa
33+
pphcuisvqnjzxwkbgdtqeoylfd
34+
mprcuisvrnjtxwmbgdtqeoylfa
35+
mfhcuisgrnjzxckbgdtqeoylfa
36+
mphiubsvrnjzxwkbgdtqeoyufa
37+
dphctisvrnjzxwkbgdtqeoylfk
38+
mphcuisvrnjznwksgdtqeoyzfa
39+
mpwcuisvrnjziwkbgdtqaoylfa
40+
mphduzsvrnjznwkbgdtqeoylfa
41+
mphccisvrnjzxwebgdtqeoylqa
42+
xphcuisvrnjzxwkfvdtqeoylfa
43+
mphcupsvrnjzxwkbgdtfeoylpa
44+
mphcuisvrtjzjwkbgdtqeoylfe
45+
mpbcuisvrnjzxwkbgdmieoylfa
46+
mphcuisvrnjzxwkbgjtqetylaa
47+
mphcuisvrnjzxwpbgdtgdoylfa
48+
ophcufsvrqjzxwkbgdtqeoylfa
49+
iphcuhsvrnjzxwkbgetqeoylfa
50+
mphcuisvunjzxwwbgdtqeoylqa
51+
mphcpisvrnjzowkbgdtveoylfa
52+
mphcuisvrnjzxhkbgdtqeotlla
53+
mphcuisvrnjzxwkbodtgeoylha
54+
mphcuisvrjjzxwkbwdtqtoylfa
55+
mphcwisvrnjnxwkbgjtqeoylfa
56+
mplcuicqrnjzxwkbgdtqeoylfa
57+
mphcuisvrnjzxydbgdtqeoylfn
58+
ophckisvrnjzxwkbgdtqeozlfa
59+
mphcuisvrkjzxwkbgdtteoblfa
60+
yphcuisvrnjcxwkbggtqeoylfa
61+
mphcuisvrnazxwfbqdtqeoylfa
62+
mphcuisvrmjzxwkbgdtlwoylfa
63+
mphctksvrnjzxwibgdtqeoylfa
64+
mphcuisprnjzxlebgdtqeoylfa
65+
mphcuisnrnjzxakbgdtueoylfa
66+
mphcuiavrnjoxwtbgdtqeoylfa
67+
nphcuisvrnjzxwkbgdtqzoylfk
68+
mphcuisrrnjmxwkbgdtqdoylfa
69+
mphcuisvrujzxwkvgdtqehylfa
70+
mphcuisvrnfzxwkogdtqebylfa
71+
mphcuisvrnjwdwkbgdtqeoyxfa
72+
mphcuisvrntzxwkrgxtqeoylfa
73+
mpzcuisvrnjzxwebgdtqeoylsa
74+
aphcuikvrnjzxwwbgdtqeoylfa
75+
mphcqisvrnjzxwkpgdtqeoelfa
76+
mphcuusvrnjzxwkbgdtjeodlfa
77+
mphcuisvrnjzewkbgdtteoylza
78+
mphcuisvanjzxwkbgdtheoylfc
79+
mphcjishrnjzxwkbgltqeoylfa
80+
mpxcuislrnjzxwkbgdtqeoynfa
81+
mphcuisvrnjjxwkbgdtmeoxlfa
82+
mphcimsvrnjzxwkbsdtqeoylfa
83+
mphcxisvcnjzxwjbgdtqeoylfa
84+
mphcuisbrvjzxwkbgdtqeoymfa
85+
mplcuisvrnjzxwkbgdtaenylfa
86+
mphcuihvrnjzxwkygytqeoylfa
87+
mphcbisvrnjzxhkbgdtqezylfa
88+
mphcuisarnjzxwkbgatqeoylfv
89+
mphcumsvrnjzxwkbgdrqebylfa
90+
mlhcuisvrnwzxwkbgdtqeoylfx
91+
mpkcuisvrkjzxwkbgdtqeoylfo
92+
mphcuissrnjzxwkbgdtqmoylfc
93+
mphcuiwvrnjuxwkfgdtqeoylfa
94+
mphcuicvlnjzxwkbgdvqeoylfa
95+
mphcuisvrvvzxwkbfdtqeoylfa
96+
myhcuisvrnjpxwkbgntqeoylfa
97+
mpocuisvrnjzxwtbgitqeoylfa
98+
mphcuisvrnjzxwkbgdtwewyqfa
99+
mphcuisvtnjzxwwbgdtqeoolfa
100+
mphcuisvrnjzxgkbgdyqeoyyfa
101+
mphcuisvrdjzxwkbgpyqeoylfa
102+
bphcuisvrnjzxwkbgxtqefylfa
103+
sphcuisvrdjzxwktgdtqeoylfa
104+
mphcuvsvrnjmxwobgdtqeoylfa
105+
mphcuisvrnjzxwkbsdtqeuylfb
106+
mnhcmisvynjzxwkbgdtqeoylfa
107+
mphckisvrnjzxwkhgdkqeoylfa
108+
mpacuisvrnjzxwkbgdtqeoolaa
109+
mpgcuisvrnjzxwkbzdtqeoynfa
110+
mphcuisvrojzxwkbzdtqeoylga
111+
mphcuisvknjfxwkbydtqeoylfa
112+
mphcuistrnjzxwkbgdqqeuylfa
113+
bpvcuiszrnjzxwkbgdtqeoylfa
114+
mphcuxsvrnjzswkbgdtqeoelfa
115+
mphcuisvbnjzxwlbgdtqeoylla
116+
mphcuisvonczxwkbgktqeoylfa
117+
mphcuisvrnkzxwvbgdtquoylfa
118+
mphcuisvrnjzxokfgdtqeoylia
119+
tphcuisvrnjzxwkbjdwqeoylfa
120+
mihcuisvrnjzpwibgdtqeoylfa
121+
mphcuisvrejzxwkbgdtqjuylfa
122+
mprcuisvrnjixwkxgdtqeoylfa
123+
mpqcuiszrnjzxwkbgdtqeodlfa
124+
mphcuasvrnjzzakbgdtqeoylva
125+
mphcuisvrnjzmwkbtdtqeoycfa
126+
mphcuisvrnjzxwkbcdtqioylxa
127+
mphckisvrnjzxwkbcdtqeoylfm
128+
mphcuisvrnjuxwbogdtqeoylfa
129+
mphcuisdrnjzxwkbldtqeoylfx
130+
mphcuisvrnjoxwkbgdtqeyyyfa
131+
mphcuicvqnjzxwkbgdtqeoylna
132+
mpmcuisvrnjzxwkbgdtqktylfa
133+
mphcuisvrnqzxwkggdtqeoykfa
134+
mphcuisvryjzxwkbydtqejylfa
135+
mphcugsvrnjzxwkbghtqeeylfa
136+
rphcuusvrnjzxwkwgdtqeoylfa
137+
zphwuiyvrnjzxwkbgdtqeoylfa
138+
cphcuivvrnjzxwkbgdtqenylfa
139+
mphcuisvrnjzxwkagotqevylfa
140+
mprcuisvrcjzxwkbgdtqeoytfa
141+
mphjugsvrnezxwkbgdtqeoylfa
142+
mphcuisvryjzxwkbgltqeoylaa
143+
mphcursvrnjzxfkbgdtqeoydfa
144+
mphcuisvrcuzxwkbgdtqeoylfw
145+
mphcuisvrijzxwkbgdtqeoelfh
146+
xphcuisvenjzxjkbgdtqeoylfa
147+
mphcuisvrnazxwkbgdeqeoylaa
148+
mphcuisbrsjzxwkbgdtqeoygfa
149+
mlhvuisvrnjzxwkbgdtqeoylfh
150+
mphcuisvrnjzxukbgdtqeoyhfy
151+
mpzcuilvrnjzawkbgdtqeoylfa
152+
hphcuisjfnjzxwkbgdtqeoylfa
153+
mahcuisvrnjzxwkegdtqeoylfi
154+
mphcuixvrnjzcwkbgdtqetylfa
155+
mphcuisvrnjzxwkdgdtqeoklfj
156+
mlhcuisvrnjzxwkbgdteeoylka
157+
mphcuifvrnjbxwkrgdtqeoylfa
158+
mphcuasvrnjzzwkbgdtqeoylva
159+
mphcuisvrnjzxwkboutqeoylba
160+
mbhcuisvcnjzxwklgdtqeoylfa
161+
mpbcuisvrnjzxgkbgdtqesylfa
162+
mphcuisvrnjfswkbgdtqeoylfd
163+
mphcuisvrnjzxwkbgdoweoysfa
164+
uphcuisvrnjzrwkbgdtqelylfa
165+
mphcuisvrnjzxwkbgdtqyoylsi
166+
mpqcuiqvxnjzxwkbgdtqeoylfa
167+
mphcuisorfjzxwkbgatqeoylfa
168+
mphcuisvrntfxwkbzdtqeoylfa
169+
mphcuisvrnrzxwkbgdtueoylfl
170+
mphcuisvrnjzewkagdtyeoylfa
171+
mpocuisdrnjzxwkbgdtqeozlfa
172+
mphcuisvrnjjxwkbgdtoeoylfm
173+
mphcuisvenjzxwkbgdtqwoylza
174+
mpmcuisvrnjzxwkbgdtqeoxlfr
175+
mphcuisvgnjhxwkbgdtqeoplfa
176+
mphcuisvrnjzowkdgdtqeoyyfa
177+
mphcuisqynjzxwkbgdtqeoylda
178+
hphcuisvgnjzxwkbgdtbeoylfa
179+
iphcuipvrnuzxwkbgdtqeoylfa
180+
mphcuisvrnjzsikbpdtqeoylfa
181+
mpwcuhsvrnjzxbkbgdtqeoylfa
182+
mnhjuisvcnjzxwkbgdtqeoylfa
183+
mphcudsvrnjzxwkbgdtqloilfa
184+
mpncuiwvrwjzxwkbgdtqeoylfa
185+
mphcuisvrnjgawkbgdtqeoylya
186+
mphcuisvrnjzxwkbggtteoslfa
187+
mphcuisvrnjzxwkbgdvqeoylpe
188+
mphcuisvrnczxfkbgktqeoylfa
189+
mphcuifvrnjzxwkbgdbmeoylfa
190+
mphcuisvrnjytwkbgdtqeoylla
191+
mphcuisvrnjzxwkbgdtjeoxlfn
192+
mphjuisvrnjzxwkbghtqeoyffa
193+
mphcuisvrnjzxkrbgdtqeoylaa
194+
mphcbisvrnjzxwkbgttqeoylfs
195+
mphkuksvbnjzxwkbgdtqeoylfa
196+
nphcuidvrnjzxwhbgdtqeoylfa
197+
mphguzsvrnjzxwkbgdaqeoylfa
198+
mihcuisfrnjzxwkbgdtqhoylfa
199+
mphcuisvrnrzxwpbgdtqesylfa
200+
zphcuisvrnjzxwkbddtqeoylaa
201+
mphcuigvmnjzxwkbgdtqeoylba
202+
mjhcuisvrnjzxjkbgdtqeoylha
203+
mphnuisvrnjznwkbgdtqnoylfa
204+
mkhcuisvrnjcxwkbgdqqeoylfa
205+
mphcuisvenjzxwbbqdtqeoylfa
206+
qphcuisnrnjzawkbgdtqeoylfa
207+
mphcuisvrdjzxwkbgdtqeoywca
208+
mphcuzsvvnjzxwfbgdtqeoylfa
209+
pphcuxsvrnjzxwkbgdtmeoylfa
210+
mphiuvsvrnjzxlkbgdtqeoylfa
211+
mphlqisvrnjzxkkbgdtqeoylfa
212+
mmhcuisvrnjzxwkbgatqeoylea
213+
mphduisrrnjoxwkbgdtqeoylfa
214+
mphcuisvrnjnxwkvgdyqeoylfa
215+
mphcuvsvrnjzxgkbgdtqeoylfz
216+
mphcuisvryjzxwkbggtqkoylfa
217+
iphcuisvrdjzxwkbgotqeoylfa
218+
mphcuisvrnjzxwhbgdtqwoyofa
219+
mphcorbvrnjzxwkbgdtqeoylfa
220+
mghcuisvrnpzxykbgdtqeoylfa
221+
mphauisvrnjnxwkbzdtqeoylfa
222+
mphcgisvrnjzxwkwgdtqeoygfa
223+
mphcuisvrnjzxwkggotqeoylba
224+
mphcuesvrnjzxwkbgdwqebylfa
225+
yphcuisvrnjzxwkbgdxqeoylja
226+
ephyuisvrnjzywkbgdtqeoylfa
227+
mfhcuisqrnjzxwkbgdlqeoylfa
228+
mphkuisvrnjzxwkbertqeoylfa
229+
mphcuusgrnjzxwkbggtqeoylfa
230+
mphcuildrnjvxwkbgdtqeoylfa
231+
mphcuiuvrnjzlwkbgwtqeoylfa
232+
mppcuisvrljzxwkbgdtqeoylfw
233+
mphcwiwvrnjzxwsbgdtqeoylfa
234+
mphcubivrnjzxwkqgdtqeoylfa
235+
mphcuisvrnjpxwkngdtqeoylpa
236+
pchcuisvrgjzxwkbgdtqeoylfa
237+
mphcuisvlnjzxwkbgdtmeoylfw
238+
mphcuisvrnjzywkbgdvqeoylfj
239+
mpzcuisvrnezxwktgdtqeoylfa
240+
mphcuisvrnjbxwkbgzrqeoylfa
241+
mphcuisvrnjzxwktgdtqeodtfa
242+
jphcuiavrnjzxwkbgdtqeoylfv
243+
mphcuisvrnjzxwkbddppeoylfa
244+
mphcuissrkjzxwkbgxtqeoylfa
245+
mphcuisvrhjzxwxbgdtqeoylxa
246+
mphcvisvgnjjxwkbgdtqeoylfa
247+
mphcuisprnjwxwtbgdtqeoylfa
248+
mphcuissrnjzxqkbgdtqeoymfa
249+
mphcuiabrnjzxokbgdtqeoylfa
250+
mphcuisvrnczxwkbgmtpeoylfa

0 commit comments

Comments
 (0)