Skip to content

Commit a4da8e7

Browse files
author
Zoe Peterson
committed
day 2 finished, yay
1 parent 2340139 commit a4da8e7

File tree

4 files changed

+296
-3
lines changed

4 files changed

+296
-3
lines changed

day1.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#coding: utf-8
22

3-
def findDuplicateFrequency(lines):
4-
frequencies_seen = set()
3+
def find_duplicate_frequency(lines):
4+
frequencies_seen = {0}
55
total = 0
66
#Keep looping through the lines in the file until you find a duplicate frequency
77
while True:
@@ -15,5 +15,5 @@ def findDuplicateFrequency(lines):
1515

1616
file_object = open("input_day_1.txt", "r")
1717
lines = file_object.readlines()
18-
print(findDuplicateFrequency(lines))
18+
print(find_duplicate_frequency(lines))
1919
file_object.close()

day2.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#For part 1
2+
def checksum(ids):
3+
total_double_letter_words = 0
4+
total_triple_letter_words = 0
5+
for single_id in ids:
6+
letter_counts = {}
7+
for letter in single_id:
8+
if letter in letter_counts.keys():
9+
letter_counts[letter] += 1
10+
else:
11+
letter_counts[letter] = 1
12+
if has_exactly_n_of_any_letter(letter_counts, 2):
13+
total_double_letter_words += 1
14+
if has_exactly_n_of_any_letter(letter_counts, 3):
15+
total_triple_letter_words += 1
16+
17+
return (total_double_letter_words * total_triple_letter_words)
18+
19+
def has_exactly_n_of_any_letter(letter_counts, n):
20+
for key in letter_counts:
21+
if letter_counts[key] == n:
22+
return True
23+
return False
24+
25+
#For part 2
26+
def find_common_letters(ids):
27+
for i in range(len(ids[0])):
28+
ids_without_character_set = set()
29+
for single_id in ids:
30+
id_without_character = single_id[:i] + single_id[i + 1:]
31+
if id_without_character in ids_without_character_set:
32+
return id_without_character
33+
else:
34+
ids_without_character_set.add(id_without_character)
35+
36+
file_object = open("input_day_2.txt", "r")
37+
ids = file_object.readlines()
38+
print(find_common_letters(ids))
39+
file_object.close()

input_day_2.txt

+250
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
pbopcmjeizuhxlqnwasfgtycdm
2+
pjokrmjeizuhxlqnfasfguycdv
3+
pbokrpjejkuhxlqnwasfgtycdv
4+
sbokrmjeizuhxaqnwastgtycdv
5+
pbokrmjeizuhxljnnasfgtycnv
6+
pbokrqjeizuhxbqndasfgtycdv
7+
bbokrmjeizuhxlqnwasfgtycfj
8+
pbokrmjeisuhxlqnwasfzdycdv
9+
pbokrmjefxuhxlqnwasfptycdv
10+
pqokrmjenzuhxlqnwasfgtygdv
11+
pbokrmjeizunklqnwassgtycdv
12+
pbokrmjeizghxvqnkasfgtycdv
13+
lboirmjeizuhxlqnwfsfgtycdv
14+
pbofrmjeizuhalqnwasfgtyddv
15+
pbokrmjeiguhplqcwasfgtycdv
16+
pbokrmjeizzhxlqnwavfgtyctv
17+
pbokrmjeizuhxlqnwaefgtycaj
18+
pbokzmjedzuhxlqnwasfgtlcdv
19+
pnokrmjegzuhxlbnwasfgtycdv
20+
pbojrmjeizuhtlqniasfgtycdv
21+
pbokxmiefzuhxlqnwasfgtycdv
22+
pbokrmoeizuhxlqnpasngtycdv
23+
abokrmjeezuhxlqnwasfdtycdv
24+
pbokrmyeizugxlqnwasfgtycda
25+
pbokdmjeizuhxlqnuatfgtycdv
26+
psokrmjeiauhxlqnwasxgtycdv
27+
pbokrmjeizuhxlqzwasfgtyzdy
28+
pboktmjeizuhxnqndasfgtycdv
29+
pbodrrjeizuhxlqnwasfgtycdb
30+
pbokrmjekzuhxljnwasfgtycuv
31+
pbokrmjnizuhllqnwawfgtycdv
32+
prmkrmjeiwuhxlqnwasfgtycdv
33+
pbokrmjeizkhxlenwajfgtycdv
34+
pbofrmjeizuixlqnwasfgoycdv
35+
gbhkrmjeizuhclqnwasfgtycdv
36+
pbokrmweizuwxlqnwasfgtycyv
37+
pbukrmjeizuhxlqnwasfgqhcdv
38+
pbokxmjeizuhxlqnwasfgtecdu
39+
pbokomjeizuhrlqnfasfgtycdv
40+
bbokymjeizuhxlqnpasfgtycdv
41+
pbodrmjeizuhxlqnwadfgtgcdv
42+
zbokrljeipuhxlqnwasfgtycdv
43+
pboermjeizuxxlqnwasfgtpcdv
44+
pqbkrmjeizuhxlqnjasfgtycdv
45+
pbokrmfeizuhxvqgwasfgtycdv
46+
pbokrmjeizuhzlqnjasfdtycdv
47+
rbofrmjeizkhxlqnwasfgtycdv
48+
pbokrmseizubxlqnwasfgtycdy
49+
pbocrmjeizuhxaqnwasfgtycda
50+
pbokrmjeizuhxlqndakfgtscdv
51+
pbokrrjeizuhxlqnwgshgtycdv
52+
pbokrajeizuhxpqnwasrgtycdv
53+
pbokrbjeizubxlqnwssfgtycdv
54+
pbokemjhizuhxlqnwazfgtycdv
55+
pbokrmjeizuhxlqntisfgtyrdv
56+
pbokrmjwinuhxlqnwasfgkycdv
57+
pypkrmjeizuhxlqtwasfgtycdv
58+
pbokrmjeizuhxlqniasfrpycdv
59+
pbokomjeizuhxlqnwasfgtgcdw
60+
pbokrmjeizusplqnwxsfgtycdv
61+
pbodrmueizxhxlqnwasfgtycdv
62+
pbokwmjeizurxlqnwasfgtycdi
63+
pbohrmjejzuhxlqnwasfgtycgv
64+
pbokrmtqizuhxlqnwasfitycdv
65+
ptozrmjeizuhylqnwasfgtycdv
66+
pbokrmjtizuhxlqfwasfgtykdv
67+
pbokrmpeizuhxnqmwasfgtycdv
68+
pbokrmjeizujxlynwtsfgtycdv
69+
dbokrmjeizuhxlqnwasngticdv
70+
pbskrmjeizuhxlqnrasfttycdv
71+
pbwkrmjerzuhxlqnwaslgtycdv
72+
pboyrmceizuhxlqnwssfgtycdv
73+
pbokpmjeizchxlqngasfgtycdv
74+
pbokrmjenzuhxlqnwcsfgxycdv
75+
pbxkrmjeizuhxlqnwadfgtyckv
76+
pbqkrmjeizuhxlqnwasdgdycdv
77+
pbokrmoeizdhxlqnwasfgtycqv
78+
pbokrmjejzuhxlqnwksfgtycwv
79+
pbfkrmjeieuhxlnnwasfgtycdv
80+
pbokrmjeiuuhxlqnpalfgtycdv
81+
pbokrmjeizunxyqnwasfgtdcdv
82+
pbokrmjeazuhxrqnwasogtycdv
83+
pbmkrmjeizuhxlqnwaufgtycdj
84+
xbskrmjeipuhxlqnwasfgtycdv
85+
tbokrujlizuhxlqnwasfgtycdv
86+
xbokvmjeizuhxyqnwasfgtycdv
87+
pbnhrmheizuhxlqnwasfgtycdv
88+
pboorajrizuhxlqnwasfgtycdv
89+
pbokrmjeizuhxminwusfgtycdv
90+
pboqrmjeizuhxlqnwaslgtscdv
91+
pgokrdjeizuhxlnnwasfgtycdv
92+
pbokrmjeizuhxiqnwasvttycdv
93+
pbokrmwnizuhzlqnwasfgtycdv
94+
pbokrmjlizmhjlqnwasfgtycdv
95+
pbwkrmjeizohxlqnwasfgtyzdv
96+
pbykrmjmizwhxlqnmasfgtycdv
97+
pbokrmjzizuhxeqnwasfgtpcdv
98+
pbokrmjewzuhxzqnwasfgtybdv
99+
pbokrmjeimupxlonwasfgtycdv
100+
pbokrmjvizuhxlqnuasfgtycqv
101+
pbokrmjeizjdxlqnwasfetycdv
102+
pbofrmjeizurxlqnwasfztycdv
103+
pbozrmjeizuhxxqpwasfgtycdv
104+
pbovtmjeizuhxlqnwapfgtycdv
105+
prokrmjeuzuhxlqnwasfgtycqv
106+
ubokrmjeizuhxljnwasfgtdcdv
107+
pboknmjepzuhxlqnwasogtycdv
108+
pbokrmjaizuaxljnwasfgtycdv
109+
pbdkrcjeizuhxlqnwasfgtvcdv
110+
pbokymjeizuhxlqnwaxfgtyfdv
111+
pbokrmjaizuhxlqnfasfgtyodv
112+
pdekrmmeizuhxlqnwasfgtycdv
113+
rbokrmjeizuuxlqnwasfgtycdj
114+
pbokrmneifuhxlqiwasfgtycdv
115+
pbokrmjeizlbxlunwasfgtycdv
116+
pbokrmjewzuhxxqnwasfgoycdv
117+
pbokrmjeizuhxlqtwasfgtzcdo
118+
pbokrmkeizzhxlqnwasfgtycmv
119+
pbokrmjeiquhxlqnywsfgtycdv
120+
xbokrmjeizjhxlqdwasfgtycdv
121+
pbokrmjeizahxzqnzasfgtycdv
122+
pbokrmjeizuhxmqmwasfgtytdv
123+
pbokrmheiluhxlqnwasfgoycdv
124+
rbokrmjeizuhxlqnwaslgtycqv
125+
pbbkzmjeizuhxvqnwasfgtycdv
126+
pbokrmjeizudxlznwgsfgtycdv
127+
pbokemjeizuhxlqnwascgtysdv
128+
pbokrmjdizuexlgnwasfgtycdv
129+
pbokzmjeizuhxlqnwnsfggycdv
130+
pbokrmjeizuhxtqnwasfgiycdy
131+
bbokrmjeizuhclunwasfgtycdv
132+
pbtkrmjeieuhxlqnwasfgtycrv
133+
pbokrmjeizutxlbnwasngtycdv
134+
pbokrmjevzumxlqnwasfgtyydv
135+
pbokrmjsizuhxlqowasfgtycyv
136+
pbssrmjeizuhxlqbwasfgtycdv
137+
pbokrmjeizuhflqnwxsfstycdv
138+
pbokimjeizuhxlqnwasfgtywdm
139+
pbokrmjbizuhxlqdwasfgtygdv
140+
pbokrmheizuhxlqxwasfgtycnv
141+
poakrmjeizuhylqnwasfgtycdv
142+
vbrkrmjeizuhxlqnwaszgtycdv
143+
pbokrmjeizuhxiqnudsfgtycdv
144+
pbokrldeizuhxlqnwasjgtycdv
145+
pbokrmjeizjhflqnwasfgtymdv
146+
pbokrmjeizuhxliawasfgtvcdv
147+
pbokrmjeisuhtoqnwasfgtycdv
148+
nbokrijeizuhxlqnwasfgtycdh
149+
pbokrmjeizrhxlqnwxsfztycdv
150+
pbotrmjeizuhxlcnwasfgtyvdv
151+
pbokrmjewzuhxlquwasfgtjcdv
152+
pbosrmjeipuhxlqnwasfgtvcdv
153+
pbokrmjebzurxlunwasfgtycdv
154+
pbogimieizuhxlqnwasfgtycdv
155+
pbokrmjeizihxlqnwasagtyzdv
156+
pbokrmjeizuoxlqnausfgtycdv
157+
pbokrmjeizuhxlqnwashgbjcdv
158+
pbokrdjeizuhxlnnwasfgoycdv
159+
pbokrzjtizlhxlqnwasfgtycdv
160+
peokrmjexzuhxlqnwasfgoycdv
161+
cboprmjeizuhxlqnwasfgfycdv
162+
pbitrmjeizjhxlqnwasfgtycdv
163+
pbourmjeizuhxldnwjsfgtycdv
164+
pboivmjeizuhxlqnwasvgtycdv
165+
pbokrmjeiduhxaqnqasfgtycdv
166+
pbokicjeiwuhxlqnwasfgtycdv
167+
pbokrmmeizulxlqnwasfgtyvdv
168+
pbokrmjeieuhxlqnaapfgtycdv
169+
pbokxmjeiuuhxlqnwasfgtyqdv
170+
pbokrmjeizuhxgqniaslgtycdv
171+
pbokrmjeizuuxlqnwisfgtyckv
172+
pbovlmjepzuhxlqnwasfgtycdv
173+
pbokrmjeizuhxlqdwaqfgtycdj
174+
pbztrvjeizuhxlqnwasfgtycdv
175+
pbokrmjeizuholunwasfptycdv
176+
pbokrmjeizudxlqnwusfgtycqv
177+
nbokrmjzizmhxlqnwasfgtycdv
178+
pbokrmjeypunxlqnwasfgtycdv
179+
pbokrjjxizuhxlqnwasfgtyddv
180+
pbokrmjeizuhilqnwiufgtycdv
181+
pbokrmjeizuhxtqowasfgfycdv
182+
qbokrgjeizuhxlqnwasfgtycdx
183+
pvoarmjeizuhxlqnwasfgtfcdv
184+
pbokrmjjizuhxlqnwasfggyczv
185+
pbtkrmjeizuhnlqncasfgtycdv
186+
pbokrmjeizuzxlqnwasfgtyjnv
187+
jmokrmzeizuhxlqnwasfgtycdv
188+
pbykrmjmizwhxlqnwasfgtycdv
189+
nbokrmjeizlhxlqnwasfgtecdv
190+
pbokrmjeizuhxlqhwasrgrycdv
191+
pbokrmjeiruhxlqnwasfgtnedv
192+
pbokrmjeizohxlznwasfgtycuv
193+
paokrmjdizuhxlqnwasfktycdv
194+
pbokrmjetzutxlqnwasfntycdv
195+
pboyrmjeizuhxlqnwasfgtetdv
196+
pbokgujeizuhxlqwwasfgtycdv
197+
pbokrifeizshxlqnwasfgtycdv
198+
sbokrmjeizfhxlqnaasfgtycdv
199+
pbokrmjeizuhxlqpwrsfgfycdv
200+
pbokxmjeikuhxlqnwasfctycdv
201+
fbokrmjhizuhxlqnmasfgtycdv
202+
pbekamjeizuhxlqnwaxfgtycdv
203+
pboksmpeizuhxlqnwasfgtyclv
204+
pbokrmjeizrhxdqnwasfgzycdv
205+
pbogrmxeizurxlqnwasfgtycdv
206+
pbokrmjeieuhxlqnwqsfgtychv
207+
vbokrmjeizuhxlqnwabfgtycdq
208+
lbokrmjeizupxlqvwasfgtycdv
209+
pbokrmjeizuhglqnuasfgtucdv
210+
hbokrmjeizuhelqnwasfgtrcdv
211+
pbokrmweizuhxlqnwhsfgtyvdv
212+
pbokrmjeizuhxrqnwasfvtccdv
213+
pbokrmneizuhxlwnyasfgtycdv
214+
ybokymjeqzuhxlqnwasfgtycdv
215+
pbousmjeizuhxlqswasfgtycdv
216+
pblkimjeizuhxlqnwacfgtycdv
217+
psokrmjeizuhxlqnwasfgbpcdv
218+
peokrwjeizghxlqnwasfgtycdv
219+
pbokrmjeizudxlqnwzsfrtycdv
220+
pbotrmjezzxhxlqnwasfgtycdv
221+
pkokrmjezzuhxlqnwasfgtycdh
222+
pbokrmleizuhxlnnwasfgtyndv
223+
pboxwmjeituhxlqnwasfgtycdv
224+
pbokrmjeizoczlqnwasfgtycdv
225+
pbokomjeizuhxlqnwhsfgtybdv
226+
pbhwrmjeizuhxlqnwasfgpycdv
227+
pbwkrmjeizuhxeqnwasfgtyidv
228+
pbokrmjeizuhxlqnjasfgmicdv
229+
tbokrgjeizuhxlqhwasfgtycdv
230+
pbolrqjeizuhxlqnhasfgtycdv
231+
pbogrhjeizbhxlqnwasfgtycdv
232+
pbokrmjeizghxlqnwashgtycdx
233+
pbokrmjeizuhrlqnwasfgthcrv
234+
pbokrmjeizuhxlqnwfsngtacdv
235+
pbokrmxeizuhxlqnwasfotyctv
236+
pbokrmjeizuhxlqnwcsfgnocdv
237+
pnokbmjeizuhxlqnwasfgtscdv
238+
pbowrmjeuzuhxlqnwasfgtycdw
239+
pbokrmjeiyuhxlqnwasqgtvcdv
240+
pbokrmjeivuhxkpnwasfgtycdv
241+
pbokomjeizuhxlqnwasfgtylav
242+
pbdkrmjeizuhxlgnwjsfgtycdv
243+
pbokrmjeizuaxxqnwasfytycdv
244+
pbokrmjerzuhxlqnwasfgtscdk
245+
pbokrmzerzuhxlqnwasfntycdv
246+
pbokrmjeizumxdqnwasfgtyckv
247+
pbtkrmjeizrhxlqnwasfgtjcdv
248+
pbmkrmjuizuhxlqnwasfgtytdv
249+
pbokpmjeizuhxlqnwastgtzcdv
250+
kbokrmjeizuhxlqnwasfgzjcdv

test_input_day_2.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
asdfjkla
2+
fjfjfjfjfjfaa
3+
bbb
4+

0 commit comments

Comments
 (0)