Skip to content

Commit e2b2f98

Browse files
committed
2018 Day 2
1 parent aeefc88 commit e2b2f98

File tree

3 files changed

+291
-0
lines changed

3 files changed

+291
-0
lines changed

2018/2.txt

Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
myhposlqgeauywfikztndcvrqr
2+
mbhposlxfeauywoikztndcvjqi
3+
mbhpoulxgeagywfikytndcvjqr
4+
jbhposlxgeauywdikztndcvjqk
5+
mbhpsslxueauywfikzfndcvjqr
6+
mbhposnxgeauzyfikztndcvjqr
7+
ibhposlxgetvywfikztndcvjqr
8+
mbcposlxgeauywfikztxdcvjqv
9+
mlhposltgeauywfikitndcvjqr
10+
mbhpostxgeauywfikztndjvjqy
11+
mboboslxglauywfikztndcvjqr
12+
mbhpoglxgeahywfikztndcvjqp
13+
mbhposlxgeapydpikztndcvjqr
14+
mbhposlxseauywfikztnncljqr
15+
mbhposlxgeauydfisztndcvjqj
16+
mbhposlxgeaugwwikzlndcvjqr
17+
mbhpoklxgeauywfikztndvvmqr
18+
mbhposlxgeauywfikdtndcmjqx
19+
mbhposlxaeauapfikztndcvjqr
20+
mbwposgxgeauymfikztndcvjqr
21+
mbhposlxgeauvwfirzcndcvjqr
22+
mbhpozlxgeaqywfykztndcvjqr
23+
mahqoslxgeauywfikzgndcvjqr
24+
mbhposlcgexbywfikztndcvjqr
25+
ykhposlxgeeuywfikztndcvjqr
26+
mbhgoswxgeauywfikztndhvjqr
27+
mbhposlxgeauywfikztnocmjqp
28+
mbvposfageauywfikztndcvjqr
29+
mbhpnslxgeauywfikztndgejqr
30+
mblposfxgeauypfikztndcvjqr
31+
mbhposlxyeauywfikzpndcvmqr
32+
ibhposlbgeauywfikotndcvjqr
33+
mbmposlxgeauywfiktwndcvjqr
34+
mbhposlxgeduywfikztndfvoqr
35+
mbhpoklxdeauywfikztndcvuqr
36+
mbhposlxgeauywfikltnlcvuqr
37+
mbhposlbgsauywfikztndsvjqr
38+
mbhposlxgeauywfirzfndcbjqr
39+
mphposlxgeauywfikztndcvjgg
40+
mohposlcgeauywfikzsndcvjqr
41+
mbhpovlxgeauyqfikotndcvjqr
42+
qbhpgslxgeauywqikztndcvjqr
43+
mbhposlxweauywfikztndtvjqm
44+
pbhposlxgeauywfikztnncvjqm
45+
mbbposlxpeauuwfikztndcvjqr
46+
mbhposlxgmauyrfikztndcvjir
47+
pbhposlqgefuywfikztndcvjqr
48+
mbhkoslxgeauywfikztndciwqr
49+
mbtpoflxgeauywfikztndrvjqr
50+
mbhcoslxveguywfikztndcvjqr
51+
mbhpovlxgeauywfhkdtndcvjqr
52+
mbhposlxgeauywftrztndcujqr
53+
mbhposlxgeaoywfdkzpndcvjqr
54+
mbnposlxgeyuywfikztldcvjqr
55+
mbaposlxweauywfikftndcvjqr
56+
mbhposljgeauywfikztcdcvvqr
57+
nbhpkslxgeauywfikzwndcvjqr
58+
mbhtoslxgeauywfikzkndcvjdr
59+
mbhposxxgeaxywfikztndsvjqr
60+
mbdpoflxgeauywfisztndcvjqr
61+
mbhposvxgeauywfikztnscvnqr
62+
mbcposlxghauywfikztndcgjqr
63+
mbhpovlxgeauywpckztndcvjqr
64+
mbhpfslxgeauywbikntndcvjqr
65+
mbhpowyxgeauywfikztndcvjcr
66+
mbhposlxoeatywfikztndcvoqr
67+
mchpfslxgeauywfikztidcvjqr
68+
mbhposvxgearywfikztndcvjcr
69+
mbhposlxgeauywfpcztnduvjqr
70+
mbhposlxgmauyyfiqztndcvjqr
71+
mbhposlxteauuwfikwtndcvjqr
72+
mbhpotlspeauywfikztndcvjqr
73+
mbhpoelxgeauywfikztndckjkr
74+
mbhpnslxgeauywfikztndcvkqs
75+
mbhpksfxgwauywfikztndcvjqr
76+
mxhwoglxgeauywfdkztndcvjqr
77+
mbhphsbjgeauywfikztndcvjqr
78+
mbhposlxgeauwifixztndcvjqr
79+
mbhposqxguauywfikztndcwjqr
80+
mbhposlngeauywfikztedcvjor
81+
nbhposlxgeauywiikztndcyjqr
82+
mbhposlxgeauawfykztndcvbqr
83+
mbhplslxgeauywcikztndcvjrr
84+
fshposlxgeagywfikztndcvjqr
85+
mbhposlxgeauymcikztndcxjqr
86+
mbhponlxgeauyloikztndcvjqr
87+
mbhposrxzeanywfikztndcvjqr
88+
mbhtoslxgeajyifikztndcvjqr
89+
mbhposixkeauywfikhtndcvjqr
90+
mahhoslxgeaufwfikztndcvjqr
91+
mbhpdslxteauywfikzvndcvjqr
92+
mfhposlxgeauywfiqttndcvjqr
93+
mbhplslxheauywfikztnscvjqr
94+
mbhpoylxgeauywbizztndcvjqr
95+
mbhposlhgeawywfjkztndcvjqr
96+
mbhkoslxgkauywfilztndcvjqr
97+
mbhposnxgeauywfikztkdcvlqr
98+
mvhpxslxgevuywfikztndcvjqr
99+
mbhpohlxgeauyrficztndcvjqr
100+
mbhsosuxgewuywfikztndcvjqr
101+
mbhpoxlxgeauywuikztnhcvjqr
102+
mbhposlxqeauyqfikztndcvrqr
103+
mbhpchlxgeauywfikztnhcvjqr
104+
mbhposlxgeauywoikztndcfqqr
105+
pbhposlxgeagmwfikztndcvjqr
106+
mxhwoglxgeauywfikztndcvjqr
107+
mbhpospxgaauywfikstndcvjqr
108+
mbhwoxlxgeauywfgkztndcvjqr
109+
mbhposlxgeauywfikvtndhvsqr
110+
mbbposlxgesuywfikztnicvjqr
111+
mhhjoslxgeauywfikztndccjqr
112+
mbhkoslxgeagywffkztndcvjqr
113+
mbhposlxgesqywfukztndcvjqr
114+
mbdposlxgeauywfilztndcvjqp
115+
mbhposlxgeakqwfikztedcvjqr
116+
mbhposuxgeayywficztndcvjqr
117+
mbhposlxgeauywfxkztndcloqr
118+
mchposlxgeauywoiiztndcvjqr
119+
tbhporlxgeauywfikztndcvyqr
120+
mbhposlxoevuywfikzindcvjqr
121+
qbhposlxfevuywfikztndcvjqr
122+
mbhposlxfeauvwfikztndcvgqr
123+
mbjposlxgsauywfikztnwcvjqr
124+
vbhposlxgeauvwfikztndcvjqk
125+
pbhposlxguauyrfikztndcvjqr
126+
mbhposlcgeauywfiketndcviqr
127+
mbsposlxgvauywfikztndcviqr
128+
mbhposlxgeauynfxkztndcvjbr
129+
mbhposlxtentywfikztndcvjqr
130+
mbhposlxgeavywfikztndhvjnr
131+
mbhpsvlxgeauywfikztndcvzqr
132+
mzhpotlxgeauywfiyztndcvjqr
133+
mbhposkqgeauywfiwztndcvjqr
134+
mbhposlxoeakywfikztndcvjqt
135+
mbhposlxghauywfikbdndcvjqr
136+
mbhpossxgeauywfikqxndcvjqr
137+
mbhposlxgearywhikztydcvjqr
138+
mbhposlxgeaiywfikztndfvjur
139+
mbhpxslxgoazywfikztndcvjqr
140+
mbhposlxneauywfibqtndcvjqr
141+
mnheoslxteauywfikztndcvjqr
142+
mbhposlxgeauywfmkztrdcvuqr
143+
mbhzowlxgeauywfizztndcvjqr
144+
mbhloslxgeauyofikztnucvjqr
145+
mbhposlxneagywfbkztndcvjqr
146+
mbhposongeauywfikztnzcvjqr
147+
mwyposlxgeauywfikztnqcvjqr
148+
mbhpnqaxgeauywfikztndcvjqr
149+
mboposlxzeauywfioztndcvjqr
150+
mbhposledeauywfikztndqvjqr
151+
mphpaslxgeauywfbkztndcvjqr
152+
mbhposrxgeauywlikbtndcvjqr
153+
ybhnoslxgeauywfihztndcvjqr
154+
mbhposlxgeauywfikntxccvjqr
155+
mbhposlxgeauqwfikutndcfjqr
156+
mbhposlxglabywfikztidcvjqr
157+
mbhpollxgeauywfikxtnscvjqr
158+
mboposlggeaufwfikztndcvjqr
159+
mbhposlxgeauywpikedndcvjqr
160+
mbhpoklxgeauywpikztndcvjlr
161+
mbhposhxgeauywfifztndcvpqr
162+
mbhposlxgwagywfikztndcvjwr
163+
mbhpokldgeauywfikztngcvjqr
164+
nbhposlxgeauywfiketndcvjxr
165+
mbhhoslxgexuywfikrtndcvjqr
166+
mbhposlxgefujwfikztkdcvjqr
167+
mbhposlxggagywfikztndchjqr
168+
mbhposlxgeauyvfilztnicvjqr
169+
mbhposlkgeauywfikzxndcvoqr
170+
mbhposlxgeauvqfikztndcvuqr
171+
zbhposlxgfauylfikztndcvjqr
172+
mbhyoshxgeauywfikztndcvjqa
173+
sbhposlxgeauyxfikztndavjqr
174+
mlhposlxgeauywfikzmndcqjqr
175+
mbhpaslxgekuywfikztnncvjqr
176+
ibhhoslxteauywfikztndcvjqr
177+
mbhposlxgeauyodibztndcvjqr
178+
mbhposlxgkaoywfikztndcvpqr
179+
mbhonslxgearywfikztndcvjqr
180+
mbdpoolxgealywfikztndcvjqr
181+
mbepfslxgvauywfikztndcvjqr
182+
mbhposlygeauywfikztfdcvaqr
183+
mthpoalxgeauywnikztndcvjqr
184+
mbhpesbogeauywfikztndcvjqr
185+
mbhposlxgjauywfikztnmcvjqj
186+
mbhnoslxgeauydfikgtndcvjqr
187+
mbhpxslxgeauywfikztndcvjcx
188+
muhposlxgwauywfipztndcvjqr
189+
mbhpcslxgeauywfiqztndcvjbr
190+
mbhpomlxgeauywfioftndcvjqr
191+
mbhposlfgepuywfikzmndcvjqr
192+
mbhsosliteauywfikztndcvjqr
193+
mbwposlxgeauywfikztnycveqr
194+
mbhpfslxgeauywfqkztndcvjhr
195+
mxhbvslxgeauywfikztndcvjqr
196+
fbhposlxgeauywfikzcnmcvjqr
197+
mbhfosfxgeauywfikztnduvjqr
198+
tbhporlxgeauywfikztndcvjqm
199+
mhhposlxgeauywfikctnecvjqr
200+
mbhposlxgeqtywfikztnmcvjqr
201+
qbhpjslxgeauywfikztndevjqr
202+
tbhpxslxgeaunwfikztndcvjqr
203+
wbhposlxgeadywfikztndcujqr
204+
mbhposlvgeauywfpkotndcvjqr
205+
mbhposlxgeagywfingtndcvjqr
206+
mbnposlxgeauywfikztnvcjjqr
207+
mohpoilxgeadywfikztndcvjqr
208+
mbhposlsgeauywfikztnxcvgqr
209+
mbhposlogeauywfikqtndcvjor
210+
mbhroslxgeauypfikztndcvjqg
211+
mblposuxgetuywfikztndcvjqr
212+
mbhposlogeiuywfikztodcvjqr
213+
mbhposlxgeauylfikztedcvrqr
214+
mbhfoslxgeautwxikztndcvjqr
215+
mbhouslxgeauywfikztnycvjqr
216+
mbhposlxgeauywfvkqtndlvjqr
217+
mbfposltgeauytfikztndcvjqr
218+
mbhposlxgcapywfikztnddvjqr
219+
hbhposlxgeasywfikztnxcvjqr
220+
mbhposntgeauywfikztcdcvjqr
221+
mbhponlxgfauywfirztndcvjqr
222+
mbhposlxgeatywlikztndcvrqr
223+
mohroslzgeauywfikztndcvjqr
224+
mbhpojaxgeauywfifztndcvjqr
225+
rbhposlxgwauywfikztndovjqr
226+
mbhpoclxgeaeywfikztndcvjqo
227+
mbhposllgeauywfikzondcvmqr
228+
mbhpxslxgeauywfikzymdcvjqr
229+
mbhposlxgeasywxikztndkvjqr
230+
mbhposlxgeauywfivztndcmjqx
231+
qbhposlxgpauywfikgtndcvjqr
232+
mbhposlxgeauyqdikztqdcvjqr
233+
cbhposlxgeauywfikttjdcvjqr
234+
mbhgoslxgeanywfihztndcvjqr
235+
mbhposlxgeajywfhkztndcvjvr
236+
mbhpozlxgeauewfmkztndcvjqr
237+
mbhposlxgeagywfbiztndcvjqr
238+
mbhmoslxgeauywfikztndrnjqr
239+
ybhposmxgeauywfikztndcviqr
240+
mrwposlxgeauywfikztndpvjqr
241+
mbhposlxneauywfikztndcbjqh
242+
mbhpowlxheauywfikztndcojqr
243+
mbeposlxgeauywfiwztnycvjqr
244+
mbhposixgeapywfikztndcvvqr
245+
mbhposlxgeauywfikztnbcvjap
246+
mzhposixgenuywfikztndcvjqr
247+
mbhposgxgeauywyikztndvvjqr
248+
mbhposajgeauywfikztzdcvjqr
249+
mbhyoslxgeauywfikzsndcvxqr
250+
mbhposlxgdauywfikmtndcljqr

2018/2a.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from collections import defaultdict
2+
3+
4+
with open('2.txt') as f:
5+
lines = f.readlines()
6+
lines = map(lambda x: x.rstrip(), lines)
7+
tuples = 0
8+
triples = 0
9+
for x in lines:
10+
d = defaultdict(int)
11+
for c in x:
12+
d[c] += 1
13+
v = d.values()
14+
# Is there a tuple?
15+
if 2 in v:
16+
tuples += 1
17+
# Is there a triple?
18+
if 3 in v:
19+
triples += 1
20+
print(tuples * triples)

2018/2b.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
with open('2.txt') as f:
2+
lines = f.readlines()
3+
lines = list(map(lambda x: x.rstrip(), lines))
4+
for i, x in enumerate(lines):
5+
for k in range(i+1, len(lines)):
6+
n_diff = 0
7+
diff_loc = 0
8+
# k is index for second word
9+
for j in range(len(x)):
10+
# j j is index for a character
11+
if x[j] != lines[k][j]:
12+
n_diff += 1
13+
diff_loc = j
14+
if n_diff > 1:
15+
break
16+
if n_diff <= 1:
17+
print(x[:diff_loc] + x[diff_loc+1:])
18+
print(x)
19+
print(lines[k])
20+
print(f'different character at index {diff_loc}')
21+
break

0 commit comments

Comments
 (0)