Skip to content

Commit 6a20fe4

Browse files
committed
Day 3
1 parent 2f5a9e4 commit 6a20fe4

2 files changed

Lines changed: 323 additions & 0 deletions

File tree

input/day3.txt

Lines changed: 300 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
WVHGHwddqSsNjsjwqVvdwZRCbcJcZTCcsZbLcJJsCZ
2+
hngprFFhFDFhrDpzzQDhtnBJJRJZbZvTcvbfRCJfBRcBJl
3+
DmptngtFwvvMmwmm
4+
HFddrJnLdqtHBMQBmmVm
5+
gbvNsbhsvQtmZTbQPT
6+
vDshDlczcDhcssscwzQwslLJrSJLpqrrzpnCrSfLSnqq
7+
pDGQDSpFDGzFDQSJqzDhjhQMTjTrwTstbTBTjTtLtbTMBT
8+
zgzVNHHgMwMLbLNB
9+
WRWPgdHCZccggJmJGzJmzGhGCD
10+
sVJNlhldShpdpnnwVnwCwtwggt
11+
WLFFcHWQLPPZQCgtnCgmbtbHwt
12+
MPLWzRMMcGgRrWNDpSSSfDflMlTd
13+
BBMZJcgBRjCZZzBpSvHQvbLvvHCQLQ
14+
VlVTFwDTVGnfWSQPtsDPbvrpDS
15+
wWdqhWlwGVfGwlfTVqFWfWWjzZZBJmMZMNdzZJMpjzNjgJ
16+
FBWFphQBmDmpmMSpDWVcVcvsPcRbrjPMcMsr
17+
HHtdnHnwNCHCTJRTPTzrbvVbcVRr
18+
lHqHwlnlqnGCNGGmWDvvZfpZvG
19+
mfVtmPtsccMmHcHCFfmhVmnpgZLbWPZqWnpqZbZWpgPW
20+
zzvwBrzdQDvpZJfQJZJpLf
21+
BrTBwRdNcfNmfStc
22+
sTlhFLfZTTLcfsLlLDZflvQvRNqRJFNvRMRNvQQRBQ
23+
CWcgwStWwCWWwvgNQvJBvQMQRB
24+
wptGzbzGWVGSCVVlVlLDcVVsfhLTlf
25+
HVnMVGwLLbsGnVsLnwLSBggMhjmgmgmhtmqhtgMhMj
26+
zrZzJRZfzZfrPCrFcWccPdTdHHlvdmlgTghCtmtTgq
27+
NFfcZWWzZrrHLBpBBGVGNG
28+
HqFhhCBCBLmwwCqJCHFvvFdcprrrSSrjRFRjpgrggb
29+
VGzWtQzGGQPVtlVNslVWsPdRpmcRrjpSzcrcbdSmSnSg
30+
WPPGllQMPGmTLvLJBCwM
31+
PvDWRSmTVvSvRhbZRpRpbjjjzM
32+
GBFGHLglHrrrLgGrttbMjpbcpcZJBsBp
33+
lrHgrrndgdNnlHGFQPMMmWPTvvWSCDQn
34+
mmhQShhmhQfzNfTTlShbHJrRtltltJJtHlRLLZ
35+
WscggNqwPWjcGcWWcpNcRJHHprZvZHrvtttZJpJr
36+
jGjgcMGCwPNsGDCcszBfhhQQQDnFnTVVBV
37+
mcGjrwzQcrZtQzZQDZcPssvPVVCPCVLwswwPBC
38+
NJbqHddNSgdPWvvsVHVLPs
39+
NqglNSlJFNSbSNdldNlNdNbTRFDrvRmQrQGtmDrvttQmmtDj
40+
zzcBPnHBjgHjWJvbJQTvScbwcQ
41+
qdspVCFqVqfFqLFCqtpTwtpTbSTbJpwBST
42+
FRLFRCNNqMfdWNmZPBPZrHmm
43+
VmtRRJmtrDrwhRcvPspltvgqtqsd
44+
WGQBZzMMBGBGbZTTWWCMNSgggqnPlsfbqndndccglffg
45+
CWQQZMFWdzMQdJJwJVFrwmmmRw
46+
rZsFfGfNhznzsjhzZfVjGVvVdvSTSJHSDDtcmmmttC
47+
wWpRBWlbWMWlQDvCcRSvJRSStm
48+
LPlwWqbgwqjjcFshNf
49+
lsppsGphmPrRQnvHdRpd
50+
qBgjLqMjgjTLPnzHPrPRLnzv
51+
gSMfNjNtttVbqBbtTSStjTqlhmlZDsDsbWZWFFFsGhlWPm
52+
sPDPDzrGzBsGRsbwrjtSVvthVfQtQw
53+
ClpgFZgNqMWCgqCpMNZqNWmNdtSwtljtVHQhtwfvdHtSdhSj
54+
FpNCJpNcpfCpgNWPGBLcbTGTzTzPnG
55+
mssNLCZqSqmNCHmrqHChJTjTjnRRnnqVnTTGngGTRn
56+
dbwptFwQbvdtcvpZDcDddgzGPjTGgpPTRpzzzgRzTn
57+
BwZdtZldDbrSsNrsrSHl
58+
MLnFWMRWpnpnLnLCmPGTqQsFzBttTQ
59+
SwNlDHNcddglSDBjrqmqGQqqmGtGGwszPP
60+
vdSlNcrvvvnBMbBR
61+
psZPRmTpRpgrlrDRBFgV
62+
jvCqNhwnjhGNqCMqVgFHWtgHBrtwHFrJ
63+
cGvbNcjvvhhjcvbQGcZdZSQpzdpmpPVpdZpd
64+
drTHDdlHzllZDTzTQRQLsPPSsBbSjQdL
65+
MfVVWmNvMnqNmVVpMMgfgMmvBFFfRRLQPPsPfsFLFCFRSFjR
66+
whMnNVnqWmlllHswJTZT
67+
ZSQTTLLlTsbmmDZlmNQSNFfPwHwqCjCCfjwFPwfwLr
68+
MctMJMBVttnhJcBBVctwRHjHRJwJwjFfqPfRwj
69+
vzqgqhBVzzTlZmmTlN
70+
WgvlHJFvljvdBmzcvcwpmchc
71+
TQqZsTZttLZbRZsLLMzzppBmNShCmBNTcNCN
72+
LPMZsMZLMQVgglFPhFHlFl
73+
qsBCPVPqVbwfnMQNmZJnqJgR
74+
hHdrvvLWtvtjWQnZJTMrmpTZgN
75+
DShSShLZdFGPGDPGsPsG
76+
qRBddRzFFqFqHnNnPSnnmmSpgpJm
77+
ssZDQMvvMwppNJWRDRpW
78+
MMvwlsRMcQBjcLqLBBqc
79+
ZGHpwFGvwpHrvfFTMtDfccMjntMntc
80+
RgSCLRLJRSRSQQqJmTDMPMTtsJjnclBjtj
81+
LVmmSSddLCwVHDbzDzZr
82+
psgWdsBjnnJjbZWQDDLNrDcrLVQjLM
83+
zPSCCHqCfqfmWNMcrVSLRM
84+
TPHzWPFTGztqTGgdJdsssvZgwb
85+
gcFgBChcClJjNCPb
86+
sWZdZdrSmWmSZRwSmsvPlsTtTtNMnnlvnJJv
87+
GSWrHZdGQpRrrSGmpWQmQfLfpVzDfghppzBVLBlBqg
88+
BFNqFzBNhqVwmTtsqVst
89+
dMwMwMfCMWbDtDvDssCC
90+
ldMwMSHHMMWJpRpPLLpBzPZjgnZPhN
91+
WczRJhcWggVBdzPPLnCjdvjm
92+
lSpSTpTSsCCmmntNdp
93+
wSFDCTwsGDqQqQVWWcJw
94+
RqPqhDGBhRDrrhBFmPmbgssZbwbgCbwsmZsQ
95+
nCtjMppjfTpjJJfVZwtzZtllLZwLss
96+
MHfpMWdHpSCSfnSTJWhDDFDFBGqDGvvDBDFd
97+
MCCGMCSHVGNTspVWQznddndg
98+
rttLtvRbrhLZrbcQdJnnQdfddsrggf
99+
BbRqltRtHsNNllNC
100+
ncFpcsLLdFmWlRmnllTR
101+
bMMVzVqMzjNVDblmRTPGlSmmPlqG
102+
gNDDJMVZNCbNJNDNQCbZCbscvBsdBvrRHfcpdQpfFFff
103+
VnWFbZvFbHWhFjZWVJZJLZFWTttpMCspQTTzQCHpgQMgztzT
104+
dGcfdNdGrlRlBDGNSllfBMspgzmTgtQQgztMtzpmcT
105+
lBNdqRsBRdfPNrLPFVVPVJPZZvhj
106+
TLWgggJzwjgWgjgGnnmQnzQfNNNQsm
107+
SpPbBlPBMlvFZpbbBmQGsmCJmCstsdNGBQ
108+
MhSHhZPrPbvSFrJPpPMSbMcLjjqTLHDRTDDTTLDLTqgH
109+
fprRRbbznFbcQVPDdQPdFV
110+
LTvmsLmcsHmvDvSZDZVVSS
111+
jWtmLccssJTLjHmLWWJwnwlBfwnBbllpCBnffbBr
112+
plPBWzbnFLPPtGqMMwlMGwmS
113+
ZQjDHjrQjdjVFwdMvCSfmwMqdt
114+
DDhhrRDjQghHJjhWBbgbTccbsTzpWF
115+
vgCbbwsTbWWWgwBWDGGDqtPGtMgGlFMH
116+
znrznJNhLSLphRRRDlFPMmpFPjjHtMFF
117+
llNcSQVSNcRbvCwwWcTdwZ
118+
qpnJbnRRnJhRFhFHRgQSzHlSRHCCCg
119+
fMBttBvsBjffvsQTtfGTWlCWsSgSmHCzZmLlHgzZ
120+
ffMdjrfdwjfwwnhJPFchhqwQ
121+
NCVSTCVCQCCRVDQSJsqFPsPNspFhhsgjPh
122+
btvtWtcWnpgmFhjmmt
123+
cfnffBfcWcrMdbvMQJDDrDTDVCpCDrGD
124+
fZNhBWFSlFQFjWQTTldHgCwvTvqqdr
125+
zznVzCznmHvnwgdH
126+
PMMbCGPMDPcLbJhFhWhBhRScQZBQ
127+
WQMrDWGHbSWHMNrTQRhghmgPZccmqDLwPqPg
128+
svCzfpdzzdsnslCsnPZcHZPlJcqZgmqPPc
129+
nntVpdpVsfjCHzvnsCzRTBrtWGbNNQSMbTNSRr
130+
SnpDQdBqGpDSBMfQGcMQBDJPNstvJcWNsPJCtJtNRWPC
131+
VrVHrhTHlPHTvvNtbhNRNswC
132+
TzlFHHmrVlgTlTGSzGqpdMGBPQBS
133+
zrCDnrDVCnCgnrHgGDnVVCZsNttQZmjtsmbMqGqsjbqj
134+
TlRRWPSwwFwbSwTTTpNQQqNjqZZlmMMQQt
135+
wvbwbRTLWdFFwvRBTbvTTRzrnznnJrDDCzBczBfHCJnz
136+
SvTdmLNNNdvTBmvmLvSvDpgczzjfgjggpcjcNPzD
137+
VJHQsJVlHpjjpzsjzP
138+
VRlJbJQrVbVHJJPMhBdnBRCSLZZZnvnLvv
139+
tMGcpGtMtLtsCGspLzNCBBmwCzQRzBBRWQ
140+
hdlHFllDdZgDbDDlDHTWWTnzBBBvzmNHzwRz
141+
FSddDlFRqDFqFSdPVqdhcfGMsVtVfLjrfGfjtMcs
142+
RGMWnBMWfCCMBHTDptJJgZStRPmSRD
143+
bqzFqjqcFLNLZZSmpSBgZZ
144+
rFrQNbNBlNcbrQlNQvvclMswTCTCnwrwHrWGsGCswn
145+
WLhJQddCQwRNCQNHczHNzMvZcZvcNc
146+
SlSpSlrpDqnbqDjlGjGGljTjMZZPPMMfVPgfHMMVgVvqfgcw
147+
SbGsDspbbnjTjBldCFmLwFCJLBmtJB
148+
TMDjMvMqMvDTzcmFCgrJCr
149+
ZZZJSZWVBHZWSSZQJhVhWnHJwczGGwGcCCFzwgmzcwFgwVzc
150+
pLHNQSnNJsMLRJds
151+
TsLZGwdsDFWHBZJFfZ
152+
mqhRvqrzJRbmzJBFfgHHgWgHrrlH
153+
JvvNhJmvtDdsNTwdLV
154+
wwnSVSmwtbstznwgbzzVMTNpTNWdlCSlSWTffWNCSN
155+
cFvccLGFGvvGHZflnNTpnZpZcB
156+
GPqGDhGGqrDhVRgbnbttPmgs
157+
rzSZJScLrcBLvjvsqMPZvjQl
158+
nnpDqgDqFTgwqHHvMHvvvTvPMM
159+
GnqCGpDqqVhccLmrmSmCRL
160+
tJSTmdfddDTDJCPmbQvQLHvqqqbrbvlP
161+
zWGsjcwwGGcVVjcGWcNjvNjQqrQtNFFQHHrF
162+
RZnRVsswRsGWcwVBZVtBRdDJgCffTgmgfnnCpfTfTM
163+
FnCrzhTrNPrMcnhMTnZZZNPwDPdbDmdDtwjdtjbmQwDt
164+
sBvWrpppvLBsLRVBfHSfbbQmbwSjStDSwSwS
165+
LVRRRJqqlHNlNTChrhMG
166+
WNsfsstMvtMvNNGPZwmZmqZPLWZcww
167+
rDCdDRCDFQjSVLcmZcDq
168+
bBBHqTgBbQlQRCQFbgqdhvshGvTJMnfTtnnThnsN
169+
VwWBTNQcVzDtrgfrtzzt
170+
LLbpShLGvlbCmLjpGSCSCpvFdrgdddcHtrtGgfqHcDHqrd
171+
pmvLmlpmjbLbpljJPBBcTBBQRZBBVJRZ
172+
cVTcVTNvvghNhvggPPgtCVSpSQmzCqZDRCmDZDZS
173+
dGJMWFsFMFWsnlzRlQzlzqpzlZzD
174+
HdLFssFMsJbnbFjqbhPgjNggcrhg
175+
LLVhQCTvRvmWlCppQfQQjPrwszNsfzNz
176+
BZSgncHgnJStJHJgntMWzGsrPqGwsfPfGPwwwZ
177+
bdBdJMBcShWCLbhWVC
178+
vjdpGNGwSNCTwwRbfnWgQMLjQWMnLQ
179+
DcmFPFtHmlcgpqWDnMbDLf
180+
FZJPtcprHtPPHplZHPZclwwGBSZSvSwCwvZzNdwvvw
181+
CdJLJCJPWPWcbtzJtqJzFrQvBhfjBBvjjvdjpFjr
182+
sBRgsZGDNSBBRGDwphrrrThpHpgHvhpQ
183+
DwDsGBDNwGmMNlMlMDSPmztJVCbVCCWqPqJLmW
184+
LSTMgDSRSMHbMDWLHSvDScwtCGqGrjGrcLftqVGtVC
185+
hzJPmlphCGrCwVrJ
186+
zhPNdNnQZBZBhZnNZSgMWMDbMHwWSDWNDH
187+
rcdvvcwvrHrMZBjHSZ
188+
sDtWblgnltsDFlgFqltCCVQTMTgSHVTfSQfSHj
189+
tDtRWFpFbWWWWNNDWsNqWvmzvhzhzGmzjjGvLwJmpc
190+
nFSSnnbhSfgLSSnVjdjfHMgfMzGzmqlNGGmTPlqqTzTNNzlT
191+
pBZsJJvccbBmlWGlNb
192+
cvsssvZwsDwrDdfFgnbDfVbgng
193+
mWRNWNCTdwdCwhCddbWWmhsZVgJQJBVBfsBsJQLQBLJb
194+
qFFlGzFtjjcqzHtFtlRfVfsZfQHVfBHQRHgf
195+
jqGjtcDnGnPzFRlzrnMdWrrCMMddNNWT
196+
MHWCjjGMcHhbhPDLphHQ
197+
nRVJrtgssdLgCppvLQbg
198+
RlVVZNVRJlsstldsBCNlczfjjSZmWTcmGmTSfmSm
199+
RTHqgTgMwgnGTRzqTHCGfdFdfhmBrJrdvbFJMhPB
200+
lNZNNNLttLWJBPBdZBFmdZ
201+
SppscpLVStclNPWtCczqnQQwHTTgCGwq
202+
hSHRCbZRSZhbRZBctnMVjwwtWtwh
203+
GrdFzQrDdJstjcWttwsF
204+
drPJLDPGPvDvzrJPQLdDHpZlwLgRmwCHLpwgSbff
205+
zMSSnCtCdSdCtdfMdHMdtVBDjhWDHBqbTVVBqhbDjr
206+
cPNhFFNRlNDlTBqjlTBG
207+
RvmvRpPNRgwgPvFwhmdCssmCzdMshMmL
208+
tttjgrpTwmCgCwgwrrlrHzbzqqFNzdJqqZnddJwNbh
209+
cQjMjPMBfcLBSjGQBndFnzNdNnhzzNGFbF
210+
sSQPLMfVPBVSfBMvVLSPfHCttDjCDRRtrVVglgpttD
211+
vdTvdpBvcTPdSSvCLrCCDLDCQGDl
212+
sRfnFgmFRMVsnqgRmqzmrrDBDwtHlLHtrLCDGL
213+
qRMVjJgRFnJfMssMsgZScPJpZbPbPPWhBZSp
214+
ZJgNJhGZglMZZFDTPSNqFSqTSb
215+
mwdvwpsjrcjBvpwFrvbHcDqbWHRWDSPWDHSR
216+
CsvpsLLjFzhlLGFZ
217+
sDNQrMrNfrlQjJRgGjbTllHG
218+
ZRhSnWFVSwBtFRBVvVgHgbzjgGTJnngmGmHC
219+
vWZLShhvZLVtSFSLqwVrQdqpcqMDddRNQMdsNP
220+
hQhSQbbwtHzShwhSQPbJRsLwRCjJmDCcvmqCcs
221+
FNdBTBTNMsRqqCjTjL
222+
GNdrdMBVFShhSLSGGL
223+
cZzcCmjjcvdzdWqgWTZgPZgZhh
224+
wSwVGSJFTffgJTNh
225+
FSVpVlBMShzbjzcpvp
226+
qqlblClRbnTvqTmRqlmnTwrdfdwFFNrngfddDBrNtr
227+
PcLcQLMVLGMzHLMchhLcjLFrrNrBfrfFNJtNgJDDBNzt
228+
sSjjGcGQscSVSMjHVMSVPSQsWmCmppZCmtCWbbWTlZTqTl
229+
qWlVJmDJHWJHVJlsdVTdhbFNNgFhwhhhFhwwZg
230+
npjnvQpStCQLvBpPnvtBtBpGSGbzbGDggGNbgwghzZNGGN
231+
jBvLtvjnrtMDmmDRTTrsWc
232+
pmwdwzJtFmmlpFsWwtstJPGgvNgCCLWCvPgNNPQCQv
233+
RfbfTRBnRGQvPNnncc
234+
ZTbPZSDSBfSBVSbbBRbbbtrFdtlFmVsswtFwzdpszw
235+
hVphQcmdcWWprWWhChFQBsfHjDTTBCHlSsTSBgSH
236+
vqBRqqzbqMZPMwSTDjJjlHDllgHZ
237+
PMnMLqtMnntQhWBccthB
238+
vqqvCSvHSSwqvqCddnvQFmNbVjbJVVmGNNVHNNlH
239+
pggrhzWgptWhZsmVlFmgNNVNbj
240+
RzpMLLhhphtzrRrSSbQTBQwSTDBwQM
241+
DSFQDlDFRddDHQHQtFlDVsVMTzrMCLSWZLZffSzLWrfCJz
242+
jjBBvpgmbppBPbMwBBBNbbZWZzzCCTzzZgzWcJccLzWz
243+
bvPwNwmpnBNhPmqpPvnwwNmtRQGQMdQDQlsGVVGhRlGFsl
244+
SfJJwDJgpGdSGJNSTwTVJDRbWWfLtCWCLtRLHWrtbWBf
245+
cQQPnFhjjQlczhqllhszhqsQRWnrbrHdHtbWrBWBbtvvHBrW
246+
qMqqqqzFFmPjmmsFjmzsmhjcDGSZTJgTdpZwZgwSZVpMTNVG
247+
czrcHMcMJtCCPnpFmH
248+
DwGGlvLljGmDRdwLdLjfhtFsssnFVpfttpptsnFPnp
249+
TlRTghTjwTDRTDlZZQgWMMrMJMSZmM
250+
BzdNzNdgNNPfgdNsdQdNvVMLLVQVMcCRCMRmvCGc
251+
zHpplwwZrZlqlWWrpZwqlHhLvqMCRDCGVmLcqGMVvCMmMD
252+
rWrjwWwHplZbwpZtHtJJbgfFTfsNnBbsfbSdTzgB
253+
jPRRppDLDGDTLLggMMjpLTGcrJWHsttJfwnWrMvrJnvnrNfJ
254+
blqbzBdzmhhbQWnsNHtJvfssfd
255+
lhFhzSzzSZVNSlVPgDPCPCGTRcGR
256+
cqWcNWffPftvsvfpqPtZsBzrbmbFddBmbcLbdDHbHz
257+
TJgljTnGgnLBTZbHdBFz
258+
JgSnJwSlgGJRwMtfPtvfwsZQZZtv
259+
hHhPbQPTwsdwdHqtgttjpNfjDt
260+
FFlCmSzRCCmlzzRGCFNvRpvjvtZNZqsRfNRg
261+
mVmsFMGFzJFBwQTMnMQndd
262+
QQVpQGcVdGmspHHLtbqfqfbt
263+
JvZTFDFzJzhFCWCZZDzWPBCJfLbnnwLqttnsHHNPwtbHLwjn
264+
DssTMWvvvGMcQGQGld
265+
sshRHZSZRbSZHhBFBMpMWpFgbbtb
266+
JfjTjmwwTPvfTNPTQlmFFFqqmFMBBqFgFt
267+
vDTvJffQTJjJvPvTNSHRzhCsShRRRDtZHz
268+
NFLsRDNNDNBDlgPPgBglQlzj
269+
HJhdZpfJzlWQjjHw
270+
ffJTppZZqTNlGnNsMG
271+
ZMrWcWwqqvPZMndGdqlnnDLnVT
272+
HpCsshCfpFfHHJDDSlSVQQGGflDQ
273+
zssNzRJFhjNHNNHpJRwbwMMzWWtZPcbBbwbG
274+
HlNHHLHsBDRpHLlsHRlJnMhfWZMRnvCCCnWhZj
275+
wtqSmQqttzSSQdPmmwZhChJjWJjPggCZCfZJ
276+
SSwtTbTQmbtdqmGTTcfqzDLHFsBLDGLNGrsBHFGrLB
277+
FFDvWznMWWMrPnPnWPgsmgQbhJRslHbwHwVVsVHjBsHb
278+
ZtSffffpdLqpSCLfCNqfLqLCjHjHbwhpBwJllHlRVQllphjj
279+
ZcNCtcGSctZScqfNGScLNcczPJFmzmDzGzWnrWFPFWDvrM
280+
DnTPspmTPsTCDQWRZzZzZRCRfCfHfh
281+
BNcqTBcFgbVchVJhVR
282+
dTwdrBrwTSPPWnnmSmsn
283+
pfbbDbHpNBFmQbpNNBSlLtlDStSdSPJLtLJR
284+
ZcszvwgVCZswFzVTRTlTlRLgRJSWJR
285+
jzZvVwFjcjjnwvzwZcjMpqMpbGQbQmhhHhmfHQmh
286+
hTbddhQCtdNmdtwtdhTBbCddRSWscczwcRSWLJzcFJzDsFsR
287+
NflgfPZPcgSLJcWD
288+
lPVNZMMMpZlZZvfrMvpbQHQhtbtqdTQHthrqhd
289+
JlWSStwhWJSRJpJvJBjTwTqcwTsDjsCTCB
290+
dqFzgFZGGQNVmTcCrjrzsBrB
291+
fdgLFQLnPdnqShRMPhlJMpWW
292+
TMPcsPDjdDhsDcDcTTTDvdvghBNFGGtmNrSrgSSBGNtNFg
293+
CVCbJqlRVVWWpRqRQZRWVWJZBtmSFGNmggGmtmmBFbrGMGMt
294+
JRqHVJVCRLZWTjMnfLTPcfLd
295+
TRTZFTTrghrZVhVWdWZpMmbzbdzBmtDpDDzmzB
296+
wcsSSsjfPfGPqQwqsQcfJJCtJGpppCBJzCbzJzCb
297+
sPjflcwljfjfvqNcTZTRhtVWrNrVLnrR
298+
rVLLsmwmCWTmsCTdwQrdTmqWDjDHjNGNPbjDBPNDNsZRDBjH
299+
cFcSvgJvfhfLnShtMJtPHRRvRbBBGBPNBHPbND
300+
hgLcgcLpJSMwzmrmzqQrmp

src/bin/day3.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
use std::{fs::{File}, io::{BufReader, BufRead}};
2+
3+
fn main() {
4+
let f = File::open("input/day3.txt").unwrap();
5+
let read = BufReader::new(f);
6+
7+
let tot_prio: usize = read.lines()
8+
.map(|l| l.unwrap())
9+
.map(|l| {
10+
assert_eq!(l.len() % 2, 0);
11+
l[..l.len() / 2].chars().find(|&c| {
12+
l[l.len() / 2..].chars().any(|other| c == other)
13+
}).unwrap()
14+
})
15+
.map(|c| {
16+
match c {
17+
'a'..='z' => c as usize - 'a' as usize + 1,
18+
'A'..='Z' => c as usize - 'A' as usize + 27,
19+
_ => panic!()
20+
}
21+
}).sum();
22+
println!("{}", tot_prio);
23+
}

0 commit comments

Comments
 (0)