Skip to content

Commit 6737c6f

Browse files
committed
Day 2 - solved
1 parent 21bc873 commit 6737c6f

File tree

2 files changed

+286
-0
lines changed

2 files changed

+286
-0
lines changed

02/data.txt

+250
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
kbqwtcvzgumhpwelrnaxydpfuj
2+
kbqwtcvzgsmhpoelryaxydiqij
3+
kbqwpcvzssmhpoelgnaxydifuj
4+
kbqgtcvxgsmhpoalrnaxydifuj
5+
kbqwtcvygsmhpoelrnaxydiaut
6+
kbqwtcvjgsmhpoelrnawydzfuj
7+
kbqftcvzgsmhpoeprnaxydifus
8+
rbqwtcgzgsxhpoelrnaxydifuj
9+
kbqwtlvzgvmhpoelrnaxkdifuj
10+
kbqwtcvzgsmhpolqrnaxydifub
11+
kbqbtcqzgsmhposlrnaxydifuj
12+
kbqwmcvzgswhpoelxnaxydifuj
13+
kbqwtyvzgsmhkoelrnsxydifuj
14+
khqwtcvzgsmhqoelinaxydifuj
15+
koqwtcvzcsmhpoelrnaxydizuj
16+
kbqwtcvzlsmhpoezrnaxydmfuj
17+
kbqwtcvzdsmhpoelrjaxydifij
18+
kbqwtcvzgsmhpoelrncxyjifuk
19+
kbtwtcvzgsmhpoelonaxydiwuj
20+
kbqwfcrzgsmhpoelrnaeydifuj
21+
kbqutcvkgsmhpoelrnfxydifuj
22+
kbqwtcvzgsmvvoelrnaxydihuj
23+
kbqwtcvzhymhpoelrnaxydifyb
24+
kbqctcvzgumhpoalrnaxydifuj
25+
kuqktcvzgsmhpoelrnaxydieuj
26+
kbqwtcvzgsmvpozlrnaxydifmj
27+
kbqwtcvzgsmhpojlraaxydiouj
28+
kbqwtcvzgmmhpoelknaxydizuj
29+
kbwwtcvzgsmhpoefrnaxydifij
30+
kbqwucvzgsmhpoelvnahydifuj
31+
kbqwtcvzpsmhpgelrqaxydifuj
32+
kblqtcvzgsmhpoeirnaxydifuj
33+
kbqwtcvzgsmhpovlrnabydifum
34+
kbqwwcvzgsmhpoelrnaoydnfuj
35+
kyqwdcvzgsmhpoelrnaxfdifuj
36+
kbqftcvzgsmxpoelknaxydifuj
37+
kbqwtsvzksmhpoelqnaxydifuj
38+
kbqwtcvzgsmhplelrnauydifux
39+
kbqytcvzgsmhpkelrnaxydefuj
40+
kbqwtcvzgsmjjoelrlaxydifuj
41+
kbqvtcvzgsmhpoelnnaxydafuj
42+
kbqwtcvzgsjhioelrnaxpdifuj
43+
kbqptcvpgsmhpoelrnaxydiful
44+
kbqwjcazgimhpoelrnaxydifuj
45+
kbqxtcvzgwmhpaelrnaxydifuj
46+
kbqwtcezgsmhqoelrnaxydifub
47+
kbqwtcvzgsmhooelynaxydifuf
48+
kbqwtwvzgsmkpoelrnaxrdifuj
49+
nbqwtcvugsmhpoelrnzxydifuj
50+
kbvwqcvzgsmhpoelsnaxydifuj
51+
kbqwtcyzjsmhpoelrnaxymifuj
52+
kbqwtcvzgsmhpoclrnaxykzfuj
53+
kbbwtcvzgsmhyodlrnaxydifuj
54+
kbwwtcvzgsmytoelrnaxydifuj
55+
kbmwtcczgpmhpoelrnaxydifuj
56+
ubqwtcvzgsmmpoblrnaxydifuj
57+
kbqwtcvzgrmhpoelrnaxnrifuj
58+
kbqwhcvzgsmhpoelynaaydifuj
59+
kbqwtcvzgsmtpoelrcpxydifuj
60+
kdqwtchzgsmhpoelrmaxydifuj
61+
qbqrncvzgsmhpoelrnaxydifuj
62+
kbqwtcvzghshpoelrnaxodifuj
63+
kbqwhcvzgsmhpoelknaxydiwuj
64+
ebqwtcvzgsmhpoelrotxydifuj
65+
kbqwacvzusmhpoelryaxydifuj
66+
kbqwtcvggsmhpoelrnaxygifyj
67+
kbqwtcvzgsmhpoelrnaxycwfuo
68+
kzqwzcvzgsmhpoelrxaxydifuj
69+
khqwtcvzgsmhpoelrnaxldifyj
70+
kbqwtbtzgsmhpoelrnaxydifud
71+
gbqwtcvzgqmhpoelrnaxydifrj
72+
kbqdtqvzgwmhpoelrnaxydifuj
73+
kbqwscvzgsmhpoelrpaxypifuj
74+
kmqwtcdzgsmhpoelenaxydifuj
75+
klqwtcvvgsmhpoelrfaxydifuj
76+
kbuwtcvzgsmhpoelrtaxyuifuj
77+
kbqwtcvrgomhpoelrnaxydijuj
78+
kbqwtgvzgsmhzoelrnpxydifuj
79+
kbqltcvzgsmhooeljnaxydifuj
80+
kbqwtcvzgbmxpoelrnaxydivuj
81+
kbqdtcmzgsmhpoelrnaxydmfuj
82+
kbqwtcazgsmhpoplrnacydifuj
83+
kbqztcvegsmhpoelrnvxydifuj
84+
kbqwtcvzgsmhpoecrnaxydzfsj
85+
kbqwtcvzgsmepoelrnaqydifuf
86+
kbqwtcqzgsmhpoelrnoxydivuj
87+
kbqwtcvzgsmhpoeylnaxydhfuj
88+
kbqwtcvfgsmhpoelrnaxgdifyj
89+
kbqwtcvzgsmhnbelrnaxyfifuj
90+
kbqwtcvzgsmhpoelrnaxbdffmj
91+
kwqwtcvogtmhpoelrnaxydifuj
92+
kdqwtcvzggyhpoelrnaxydifuj
93+
kbqwtuvzgtmhpoelrnaxydifxj
94+
kbqctdvzcsmhpoelrnaxydifuj
95+
kbqwtcvzgsmhpoblrniyydifuj
96+
kbqwucvzzsmhpoelrnvxydifuj
97+
kbqwtcvzgslzpoelrnaxydiruj
98+
kbqwtdmzgsmhpwelrnaxydifuj
99+
kbqwtcvzgsmhpoilrnaxqiifuj
100+
kbqwtcvzgsmhpgelrnaxydisnj
101+
kbdwtqvzgsmhpoelrnaxydivuj
102+
kbqvtdvzgsmhpoelrjaxydifuj
103+
kfqwtcvzgsmhpoeurnyxydifuj
104+
kbqwtcvzgsmhpoglrnaxqkifuj
105+
kbqwtcvrgsmhpoelrnajydifnj
106+
xbqwpcvzgjmhpoelrnaxydifuj
107+
kbqwtcvzgsmhpoelrdaxvdihuj
108+
kbuwtcvzssmhpoklrnaxydifuj
109+
kbqwtcvzgqmhpoelrnzxydifbj
110+
kbqwtcvzgsmhsoeoknaxydifuj
111+
kfqltcvzgsmhpoelrnaxydifnj
112+
qbqwtsvzgsmhpoelrnaxodifuj
113+
kbqwwevzgsmypoelrnaxydifuj
114+
kbqwtcuzgimhpoelrnaxydffuj
115+
kxqwlcvzgsmhpoelrnaxyrifuj
116+
nbqwtcvzgsmhpoelryaxyiifuj
117+
kbqwtcvzgsmhhoxlreaxydifuj
118+
mbqwtcvzfsmxpoelrnaxydifuj
119+
kbqwttvzgsmhpoeqrnaxidifuj
120+
kbqwtcvzgamhpielrnaxyiifuj
121+
rfqwtcvzgsmhpoelrnaxydifun
122+
kbpwtqvzgsmbpoelrnaxydifuj
123+
kbqwtcvzgsmhpoqlroaxydifua
124+
hbqwtcvzksmhpoelrnaxydbfuj
125+
kaqutcvzgsmhpoelrnaxydiiuj
126+
kbqctcvzgsnhpoelrcaxydifuj
127+
kbqwtnvzgsmhpoelrnaxydqfoj
128+
kbqwtcvzhsmhpoelrnaxydifyb
129+
ubqwtcvcgsmhooelrnaxydifuj
130+
kbqwtcvrgsmhpoelrnaxtdivuj
131+
kbqwtcvzgsmhplelrnmxydifaj
132+
ebqwlcvzghmhpoelrnaxydifuj
133+
hbqwtcvzgsmhpoelrnaqyeifuj
134+
kbqstcvzgsmeprelrnaxydifuj
135+
kbqwtcvogsthpoelrnnxydifuj
136+
ybqwtcvzgdmhpoelrnaxydufuj
137+
kbqutcvzgsmhpoelrnaxydifgx
138+
kbqwtcvzgsmhpozlunadydifuj
139+
kkqwtcvzgsmhpuefrnaxydifuj
140+
kbqrtcvzgsmhpoelrnaxcdifuq
141+
kbqwtcvzjsmupoelrnaxydiluj
142+
kbqwmcvzgsuhpoelrnaxydifhj
143+
kbqwfcvzgsmhpoelrnaxydkzuj
144+
kbqatcvzgsdhpoeyrnaxydifuj
145+
kbtwtcvzusmhpoelrxaxydifuj
146+
kbqwtcwzgsmhpoelrnaxysofuj
147+
kbqqtcvmgsmhpoevrnaxydifuj
148+
kbqwjcvzgsmhpoelrnaxydhuuj
149+
mbdwtcvzgsmhpoelqnaxydifuj
150+
kbqwtcvlgsmhpoelrdaxydifaj
151+
kbqwtcvzgsmmpoelrlaxydnfuj
152+
kbqwtchfggmhpoelrnaxydifuj
153+
kbqqtcvzgsyhpoelrnaxyoifuj
154+
knqwtcvzqsmupoelrnaxydifuj
155+
kdqdtcvzgsmhpoelrnaxydmfuj
156+
kbqwtcvzgsmhptelrnawyhifuj
157+
kbqwtcvzgrmhpoeqrnaxydifuw
158+
kbnxtcvzgsmhpoelrnauydifuj
159+
kbqwacvsgsmhpoelrnaxydifgj
160+
kbqwtcvzgsmhpperrnaxydifuc
161+
gbqwtcvzgsqhxoelrnaxydifuj
162+
kbqwtcvzgsmhpoeljgaxydifwj
163+
kbqktcvzgsmhpotlrnatydifuj
164+
bbqwtcvzgsmhpoilrnaxydjfuj
165+
kbqwecvdgsmhpoelrnaxypifuj
166+
keqwtcvzgemhpotlrnaxydifuj
167+
kbqptcvzgsmvpoelrnaxydixuj
168+
kbqwbctzgsmhpoelrnaxydifup
169+
kbqwtcvzgszhpbelrnzxydifuj
170+
mbqwtcvtgsmhpoeyrnaxydifuj
171+
kbqwtcvzgsmhqcelrhaxydifuj
172+
kbqotcvzgsmhooelrnazydifuj
173+
kbqwtcvzgsmhpoelmpaxyiifuj
174+
kbqwtcvwgsmypoclrnaxydifuj
175+
kbqwtcvsgskhpoelrnaxykifuj
176+
kbqwtcvzgszvpoelrnwxydifuj
177+
kbqwtcvzgsmhpoejonaxydrfuj
178+
kbqwtcvzgsmhkoelrnazyqifuj
179+
kbzwtzvzgsmhptelrnaxydifuj
180+
kbqwtcdzgsmhptelrnaxydiduj
181+
kbqwtcvzgamhpoelrnakyzifuj
182+
kbqwtcvzgsmhpoeonnaxydifxj
183+
kbqwtcvzgsmhpoeranaxydifej
184+
kbqwscvzgsmhpoelunaxydimuj
185+
cbqwtcvzgsmhpoelrdaxydefuj
186+
vbqwtcjzgsmhpoelrnaxydifua
187+
kmqwtcvzksmhpoeljnaxydifuj
188+
kbqwtcvzgsmppojlrnasydifuj
189+
kaqwtcvfgsmhpoelrnaxydiauj
190+
khqwccvzgsmhpoelrnaxydifud
191+
vbqwtcvzrsmhpoelrhaxydifuj
192+
kuqwtcvzgsmhpoelgnaiydifuj
193+
kbqwtcvzdsmhpbelvnaxydifuj
194+
kbowtcvzgnmhpoelrfaxydifuj
195+
kbqwtcvsgsmhfoejrnaxydifuj
196+
kbqwtcvzgskhtoelrnxxydifuj
197+
kbqwtcvzgtmhpoevrnaxydivuj
198+
bbqptcgzgsmhpoelrnaxydifuj
199+
kbqwtpvzgsmnpoelhnaxydifuj
200+
kbqwtovzgsmmpoelrnaxydifuw
201+
kbqwtcvzgsihpwelrnaxydsfuj
202+
kbqwtcvzggmhpollrnaxydifsj
203+
kbqwtcjzgsmhpoelrnaxyxifub
204+
ebqwtcvzgsmzpoelrnaaydifuj
205+
kbqwtcvzusmhpoelrnqxydijuj
206+
obqwtcvzgsghpoelrnaxydifkj
207+
kbrwtcvzmdmhpoelrnaxydifuj
208+
kbqwtcvzxsmhpoblrnhxydifuj
209+
kbqwacvzgsahpoelrnaxydiguj
210+
kyqwtcvzgsmipoelrnlxydifuj
211+
kbbwtcvzgsmhboelpnaxydifuj
212+
kbqwtcvzgsmhpoelrnaxhdosuj
213+
kbqwtgvzgxmhpoelrnaxyrifuj
214+
pbqwtsvzgsmhpoelrnabydifuj
215+
kbqrtcvzgsmhpsblrnaxydifuj
216+
kbqwtcvzgsmhpoexrnaaycifuj
217+
kbqxtcvzgsjhkoelrnaxydifuj
218+
kbqwtcvzgsmhpxelrnaxydifby
219+
lbxwtcvzgsmdpoelrnaxydifuj
220+
kbqwtcczgsmhpoklrnzxydifuj
221+
zbqwtcvzgsmhpoelrbaxydifui
222+
krqwtcvzbsmhpoelrjaxydifuj
223+
kbkwtcvzgsmhpoelrnaxydiacj
224+
kbqwtcvzgszhpseprnaxydifuj
225+
kbxwtcvzxsmhpoesrnaxydifuj
226+
kbqwdcvzgsmhpoelrbaxygifuj
227+
kbqwthkzgsmhhoelrnaxydifuj
228+
klqwtchzgamhpoelrnaxydifuj
229+
obqwtcvzgsvcpoelrnaxydifuj
230+
kblwtcvzgsmhpoelrnanydifuw
231+
kbqwtrvzgsmhpoelynaxydifug
232+
kbqwtcvzgsmhcoelmnaxydkfuj
233+
kbqwtcvzgsmhpotlqoaxydifuj
234+
kaqatcvzgsmhpoelrnaxyiifuj
235+
kbqttcvwgsmhpoelrnaxydifgj
236+
kpqwtcvzgsmhpwelynaxydifuj
237+
kbqwucvzgsmhpyelrnaxyxifuj
238+
kbqwucvzgsmhprelrnaxyfifuj
239+
kbqwthvzgsmhphelrnaxylifuj
240+
kbqwtcvzosmhdoelrnaxwdifuj
241+
kbqwtxvsgsphpoelrnaxydifuj
242+
koqwtcvfghmhpoelrnaxydifuj
243+
kbtwicvzpsmhpoelrnaxydifuj
244+
kbawtcvzgsmhmoelrnaxyiifuj
245+
kbqwtcvzgslhpbelrnaxydifuk
246+
kbqttcvzgsmypoelrnaxydifua
247+
kbqwtcvrgqmhpnelrnaxydifuj
248+
kbqwtcvzghmhpoekpnaxydifuj
249+
kbqwtcvzgsmupoelrnaxidifui
250+
kbqwtcvzgsmhpbelrnaxrdifux

02/solution.py

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
data = [list(x) for x in open("data.txt", "r").read().split("\n")]
2+
3+
# First part
4+
occurences = {}
5+
6+
for row in data:
7+
unique = set(row)
8+
cnt = set([row.count(x) for x in unique if row.count(x)!=1])
9+
for i in cnt:
10+
if i==1:
11+
continue
12+
occurences[i] = occurences.get(i, 0) + 1
13+
14+
total = 1
15+
for k,v in occurences.items():
16+
total *= v
17+
18+
print("First part: " + str(total))
19+
20+
# Second part
21+
def hamming(s1, s2):
22+
return sum(c1 != c2 for c1, c2 in zip(s1, s2))
23+
24+
def diff(s1, s2):
25+
return [s1[i]==s2[i] for i in range(s1.__len__())].index(False)
26+
27+
for i in range(data.__len__()):
28+
for j in range(i, data.__len__()):
29+
a = "".join(data[i])
30+
b = "".join(data[j])
31+
if hamming(a, b) == 1:
32+
print("Second part: " + "".join([x for i,x in enumerate(data[i]) if i!=diff(a,b)]))
33+
break
34+
else:
35+
continue
36+
break

0 commit comments

Comments
 (0)