day03 finished
This commit is contained in:
parent
8f66f44335
commit
c95e1d02ec
5 changed files with 378 additions and 0 deletions
0
advent/days/day03/__init__.py
Normal file
0
advent/days/day03/__init__.py
Normal file
300
advent/days/day03/data/input.txt
Normal file
300
advent/days/day03/data/input.txt
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
fBDGBcBrGDvjPtPtPV
|
||||
QhzJLlLJZgLZzNTgZClQHvRvHFvrjrvnNjHnFjPF
|
||||
ChldsCZhsQzsCGrrSfMfGpfrdM
|
||||
MJbgcgJlvMSbfjMSbllmCrntwmFrrFwgtCtFFG
|
||||
vPhddVZZhmnmdnHmHn
|
||||
vNBZppZQhjSzfScjDN
|
||||
jwhqbZRvbzvbqqpqzqHHCCCzsLmmQVtmJVJtLWLPrVLLVrmp
|
||||
dGMfMGMdBBMSTfdMGTNlcZGGPSmQJVVWsJQPLmPLVPtmWPLW
|
||||
llMBBcfBnBcZMGgqvCDbjbwgCHjvzH
|
||||
RSDprRrwgVVRwrGqrJsNFJslgglmmNszzN
|
||||
LLnWjcHWnCTmpClhHp
|
||||
MpfMZWjtLMjpjtBPnLPndMBGRqwbwBwvrGwGrGVbVvwD
|
||||
PQNGshQWtwWNcjssJHHJdlBLBlLrRDFFCrdwSlLB
|
||||
mbzqZqsgMzfnbmbfgpZvZBLrLlSCrprDlLCrdFBlDL
|
||||
MfvZzqMmsVnVzzTTbMzfvnctjhcHPQJJjNTGWjQJJHWP
|
||||
MdLWQdMZrPQWsPdMQPLSqGpHGbGqpqqqVzpm
|
||||
BhgFhVgnlgBNFtNwzpbTGbTTHpwwbF
|
||||
tCfvvCfgvBjnfflftCvjWZVddMQZsMMsRdMZMP
|
||||
lTLdHVlqmqWdvjvJttvFlJtC
|
||||
ngbMTgGhQpgrGtvCzcCJccCrcj
|
||||
npgwnDpSDbgbbnGGDQnMDSMgZZWVqNTNPRRdwLLNLqmPZTLP
|
||||
RRSFZvRdrdbSvSVLRZrSGZZrHcHPfPPwJJVJmPHmJfHVThPm
|
||||
WnLjBQBCQWqCQwpPmHTcfQpm
|
||||
gBDttlnqLqlvzzlGRRlr
|
||||
wGpdGdddMPDWgFJGBzmMlntTbZMtZbnT
|
||||
qNSqQrrqSjQVrsvTtzNnnZTnfNztZw
|
||||
rcVrjjsswVvRRHsFJLCDCpCddGCCcG
|
||||
jLMhCPWLCSWSrRLPWmPPLSCLtcTvHHDhZcfHHltlfZtlfgfH
|
||||
rBBNrbVdtZlvVcZc
|
||||
FppGdpFsnsqGJnsFzGdJszbdwSLRSRPrSRjqrMqCwQMWQqRS
|
||||
jTjZwnpjMDfZnmZfsRhGGztqCzwsdGws
|
||||
JHrWcNrNNrJHLHlzsCtzGRRRHv
|
||||
rNLrVBJFLmfCnbTpVQ
|
||||
LGWJvDFssFmMBhThMvnB
|
||||
CprbCNZpwfpwfrbZJMQMTQcVVgBZcVQBZc
|
||||
ptNwfwzHzqzlttbrlpCCqzwtFLGSWFsPDLWFHSDjJWSDLFDs
|
||||
MZJjSsCsMsZSSdZJhdjZtCbPHljqlLPlPRRDLqHHqLbB
|
||||
mmwmVpGrnngmggGwnccPbDBPLLLllLBcFRFb
|
||||
GQzVTQTTVzVrQrmvpTnmrQmMvZRhZZCZSZfCsfttSJddNC
|
||||
gHZZQRdVgRQWWRPHWPnttDTmqQqDQnStzNqD
|
||||
bscfjslJJspBLsslNStSmTmLmmDTzNnS
|
||||
JJCrbbhBsplrrChpBbfjlpbbFWWVggPPhZVRRFPdVMddPnMg
|
||||
FtLfHNhFJCClJlst
|
||||
jnDQqnDSDSRqwBwnjdFlZbsrTZdsJsGCbw
|
||||
zDFSmjSDVqnRMHmphPhfWPgW
|
||||
rSpRtSPWpStVqrwSSdrrhZvnBBnDBvsqjlBqvvnnzl
|
||||
LFNLLFfFFhMFbcbmbHbHgTNcvZvBZMsvBnJBzsZvjJvZlvnZ
|
||||
gmFLhTTbFmmQrrSWWpwWVtwQ
|
||||
DzmDJGSccGJPcdcJPJqwplhjBHmHVwwtBthV
|
||||
grMMvRsNRnWCFrgZRrZFhpVVlHVnhpVjVtljhhhf
|
||||
FFZFZTsvCMSQTdGcTHzT
|
||||
TLsGTnZncjVmVLgm
|
||||
DvRwMcHMvMbwBVlCBlzlMjCC
|
||||
FdRtRHDwQvPnTfPqcFPP
|
||||
rZNdpBSldLLCJZbbCT
|
||||
WQcQwqsmQmmqJgTRLRCqLq
|
||||
znQcwsmPcmnCzQmfGGnzHSDFlNptNthPSdllhFPplS
|
||||
vWCWvVhhjPNjNNvWVNbnbHnrbGrmlPqnqqbw
|
||||
JdZSLMgsdgQMcQssQnnDqmDqlDqnDlwrHc
|
||||
tdgQSSdpQtSMSNWpWRfRCwjpjV
|
||||
qhdJFpChSJhDFDrqbpJbddSHPPRnGGBfBrHfZRnjRnlBZH
|
||||
zsMVzmwmtLMtmQTzvwlRcZnZZljvvfGcBjcZ
|
||||
ttQzMtVgMWVMQsmtJgqJgCJbqhgbBSBN
|
||||
BWvdCmZBrNRrGSSfTzQJJRTz
|
||||
gMblllMgLVswbgwMsLjgLLnlVtfHfttSQttTJTSQGfGPTPTB
|
||||
LMgnMgscgqbFBqvBNFBmNm
|
||||
VlcczDZjjVbznwLnwpTH
|
||||
NfJPJNfJdJMSHSHnjBRSnbbL
|
||||
NddqPttjsdZDqhcqlFcD
|
||||
NVrNBBFFFrvJJrVTFTNvWBCbCCgWGqDqhqghCLqbqtCC
|
||||
mfZVPZPcqtLbcqgc
|
||||
fwZlwzfRfQQPMZBBwwBjFSjTVrBT
|
||||
GWWNMfWWwGWMtjJnVnJzlzVsvLnsVn
|
||||
ZpRqHTBddsvtPLqVPP
|
||||
bpSDgStgTbdFTpDdRmfwfmfGFcMQGWMcjQ
|
||||
gCgGBgfCbRLbBLGnGBBfRGwprctZFMvtFtvSNNTZZtMvLc
|
||||
DhJhDzzQlDdshVJlDdhqzqzQZFpppFMNtMZMtFFVvtpSMpFV
|
||||
qQdsDHWWslnNgHmBbHBf
|
||||
MRvnJFZVnvzJrWWSqMSPTSNqNj
|
||||
GlcbDpCHCCczdsDppcccBGccqjwTTwQPPSjNjWSWSwwsPsws
|
||||
GbdlBbgdVtngtzVg
|
||||
GqTSRpgJgDNSNJqJlSTJlJCBmmcnjCjLFcMFmnGsmBsM
|
||||
HPhfPrWdfrQPPPhQWHbLFFWFCmFjMBFFsLBFwj
|
||||
fdzVbvfshrbzvfbfdVPvQtqqJgqgDpNTgqZZtglZtZDD
|
||||
wsPhrDMfrwdvHdTFrrtH
|
||||
lnQbNBbqVBqHGJSddvTlJJJJ
|
||||
cjnHznzbQmgzqQjBWwZwRjDRfWWhWsWD
|
||||
SsScnttbbSzRRMMMLpsBLP
|
||||
dDJGgjGJVMSBBBMj
|
||||
JGDNCfgfSChDJrgqdgqJqGbNbbcbNtzWFctbzzlWtFFn
|
||||
dtsBsCMtwSVBlLZZZnMgcMZZ
|
||||
brppQHGznLZgJzJJ
|
||||
fprvRpNHpNnvbGDBCBPwBWFWBFBvtB
|
||||
qjgjSgHNlSGHnjfSVDvDPRDDtcdDcGtD
|
||||
FMTnnLQZtRZDbcZv
|
||||
zhBLzrCwnCsTCMCQTFLwwCzpHgNlNmHqhlqSpWllmlllhh
|
||||
bJqqFdfbGdfPNsJsdSRCFLRHLDDBHDnShL
|
||||
lQWlWQpwQjlpwrjrwTSCTLMCCNTHRDDDDRRB
|
||||
wtWgQmQQWtwWwrljNPfGPzJmbbfzmzZf
|
||||
MjppbDGmNNblCpzsNZzhNPgHtzzs
|
||||
qvdrqrQVVWLfqWfRRPRwZPPwggpf
|
||||
cqdcdpqSrrSvrvWvvvrSbcGTTTbGlFFCCcnnGbTb
|
||||
HLNfNGttHVFBHWSr
|
||||
RZCLsbCbLbLhwzDgbZCbRZhhnpSnnWpWplFFnDnqlBFVpSVB
|
||||
MzbhhzwcLGGfGMvMTv
|
||||
PdBlpdVJlmftGbTzwbtRTGGL
|
||||
NQNMgWNNQNScDhsSHSWhsNgbRCLwGnnwqLwLHbbCGGTjTR
|
||||
MvhRMMRvQshgSNDWFrfBfJFZrFPJJJPBBp
|
||||
qdtnQqWtnjfGGzsnGQmWWfqQNbRTgggRFNbCFNSSFlSJsrTr
|
||||
PZBBbPMvVcMpSRSlSCpCSgCT
|
||||
MvHZhwMVLDHDcZMvLQfwGWqwWjqjGbmnQq
|
||||
NFPmjNhGthGNpddddFpzBbqPczSqPDzzDgbgLZ
|
||||
VJWvwQrlLHWrvlQZDgZSSDSDBqbb
|
||||
WfHwMWfvRvMWrWJsrfMRWGFmGGLttMNpjCpTdmFFht
|
||||
DppfNpLwhTBRDbblgWNgCdgCvs
|
||||
nLcLqFJrHJmLcFmqMFCdzdHdsgvdzvbvWPWs
|
||||
nVFqrrQcSVmFjrmJnrFrSjTtRGRLBwfRTfZwhBQhRGGw
|
||||
sHrZdHGpHhsrLpsssGLzhrdtWdJTMWJvffVdmnbfJVnW
|
||||
cggRDCCjlPQCgDRnfbTtfMJfWVTm
|
||||
cCDwQNlwQPjgCFDljwpSLFzGFzZhzsstSpGz
|
||||
dGTGpGdPZZCpnnLRpgzgzn
|
||||
lflshFjFcrNdBjMjMnmL
|
||||
hDfrldDfbVPbQCtHHZ
|
||||
cSRZmtFZScfjZtLbmCNMqhMVQCjwqqCwVB
|
||||
pddczHpHHzgWdGdsvPrPzcvrJMNwJCQwJhNwBhCJBVMpCVJB
|
||||
cgrWcHdnPHHznlmftmtLnRDD
|
||||
PZFMMVJVZmVJVHMNJNVfNdNNSnSWsSRhgRRQnWSsRnSWmszc
|
||||
llljlTwlprClTbTpwLlgQqhcnwnczhcgSqsQRR
|
||||
TpCtGtrTBDZVZHNQZQdB
|
||||
SggjglBBlzbDgdpFJddZpF
|
||||
CCNLsfNfrcMLsTLPfPmndmTwmZtZJZJdJplp
|
||||
sfWCqcvMrlMfMLsLNfhVGvjjjSzSzVQhQvVH
|
||||
NTBhNhfBvfflsbSmcl
|
||||
nrMZRnHHwBMZRsSsgSsGrbmdms
|
||||
nPPFVwVWJqJBVJLT
|
||||
vvWqWJWJvzfFZZJvWQzqZvdPPHjSfHjssHsbsfbjSHRR
|
||||
DCwtDVjMCrltCnCrDCDmbTssPHLTLldssdSldSRp
|
||||
nMcGtDmBmMGrGvvvvFhjFZgWcN
|
||||
tGWWWfWpMDjMZbTbnqTC
|
||||
JFscJzFPDJDJZnrJ
|
||||
sBFPcBsSPBvmSPwFzSSQfpwWfDpgNNfWtfgpftfg
|
||||
BvTsJJzQJLMlbhmbFlNmTl
|
||||
PjGnpdpGcgDmhvnvmvlbmq
|
||||
dRtDGGgcDtjRcwdgQLVLRMJsszJVLRQv
|
||||
FGbPPfFSchBGSvGGWsjSTLVQLLVTsQlj
|
||||
dDzPnCrRCrrWHHTTHsdVjs
|
||||
wrwCgzMrNprCwRJJwnnbFmmpGZtcvcbFfPFmFG
|
||||
fbrJjmmmZgmZLJZsBBWlCBGnCWdnfF
|
||||
RVMDDNDHPNvvRvDtHMcctMqFslqWPnClddlClFlnBqCG
|
||||
MDDvHzHVQMMDtTHJLrnggSZLTJZgTL
|
||||
dgBBCBBdvbmrRczFMHMSrqjjSPzn
|
||||
tZTwQlLVwnQLQQFJVPzjDSSzJFPD
|
||||
fhWhQpTTZQlWfQWpWQWQLhBgchhRCsdbvNnbgRsmRR
|
||||
LttflLnGrnMsmmHgWTbdMW
|
||||
vBSWzZRDccWBFBmJsmPJmgbsgB
|
||||
FppcFWRNRZLLppGrGrqr
|
||||
JJClRmLlFGvMTlFLLfPFQQcDpQcjFcjqBc
|
||||
zgHSZhggggtwSZhrDgsZgbjVQcVcjPNqcpQQqBjNQzNp
|
||||
hZnsShSWGDMMMRnv
|
||||
RbDbslClhsfNCbsMjbNrjNMfpTTTTJSzHTpLVzLLVWVzJz
|
||||
ggFGgmqFZBnnSzTWPpHBLzdT
|
||||
vmWZWGwcZZqthjDrbclNCjlD
|
||||
dCHwnVBBCBnVHddqnQRdbbbrgTsfWwjcWlsfwDDg
|
||||
hhlFpMtGJlZmDjfWfscjWDGD
|
||||
hFNFvZmppmSlNJMmNFztmzFhdVPPHQQqqHPvLBQnBQQPQPnC
|
||||
WfzsplQpvQgfwzlbllPGtPJTTwtGGZBTTGJB
|
||||
VrmMjmFDjNjjDFBhHTcZtBRRGcGV
|
||||
mqrFmmLrjmjZnmqLrmQsfvbsfsSSlpWqgglp
|
||||
lsQVfDpfflpGGmQRRgdQbdfbWdqnjnHnqZHJTqqrWjqqcWnZ
|
||||
PPFhFFtwzqjHgjWTWF
|
||||
SwMwMhNMlMsgfQfl
|
||||
cSttSDQQCgVvQQSvsstthQcslLLgLgLnpglffjfFlLFblnlH
|
||||
rTTwTbdBpTHJfZZJ
|
||||
BddPBzwMBzqRqddRGbVShvVhVQvQscvGtV
|
||||
sSpsHqHMspqMqWsspwsSWsbBPvjrFbddrGTvZLFjdZTZGLLG
|
||||
NccDncRVNDVJLvLPPJTJGvJL
|
||||
mRCDNNhgDnghNRQNggNRcNlMtpMPMMtHtShlSSMtlhHW
|
||||
QrjSFQWzDdCHtpFlbBbVns
|
||||
PhJwNLfNqgfdLlZHpZJJpptBBb
|
||||
qmwhfhhfMNWSmSdQCddv
|
||||
VfRMdbshRmJBqbmDBH
|
||||
CWwWCWTCrzFpzWwCWFzgppqHDtZBfqDmQtBftBDFqBtq
|
||||
WlzrWWGWPrpGCGdfSsRGVnGVdNnR
|
||||
lhLTfppGRhhbZntsbTqMbq
|
||||
jrHWBHrMgjHPWMgWBJWBWjstPvwFFbbbvtvFqbPtvqws
|
||||
rBJJJVWjBjLphcMhSVRV
|
||||
fjrBPBjWVPWPrwtjPpRQZZVdZQddFdHFTZdT
|
||||
GqlllsGLgMCqGqgTFbmHdTmRzgTm
|
||||
qHchGscqGClHGhNwhjJJNWpwPB
|
||||
JzrrJZqLFrnMzVjNNnNnNDwdGHGlHlHbpTZDlmpTHb
|
||||
gQfQcRWPWgQSStCtfcsPsPmhsGdDhdGDHTwHpDlHwhTG
|
||||
fvWQgCtfWgtttcPQcPBtjVdBMJMLJBFJMJVzNrJr
|
||||
cMzNjGGNQFVzNNQVjNdqRLbFDqRpgLRDpDHD
|
||||
TwtwWJJBJSvmJCWSvTTmTbBpfpRZSfDqqSqDgHLgqdDDqD
|
||||
vtvmPrtWQMrbhMrG
|
||||
NqCPqJNJQQQQGCtGPmMTrTpHlNdmpTrwdN
|
||||
bzhZRDbnZHrmmcwRfM
|
||||
vWhsnVWWswhSFvDSDsnhbDsLPqqPFjQjgFgtjqqCLJPgQQ
|
||||
nqpfqfcnclcNcjjQ
|
||||
BLQJQmLPPvdtTFNjlFNwPs
|
||||
DgDgLLCQBBmpVSMrgfqnpp
|
||||
njCnCwwcVCBWjrrhWrHdzJqmhl
|
||||
QNGptTTQGLTdhqmdJBHT
|
||||
GtLvDDvLMvppGGVZMssfCBMfcfMf
|
||||
npPQGpDnsbJhvldphHFfpl
|
||||
mgqZcqzczzzcqmRzrbrzBvfBLvlhhftFWlhlFtLBvv
|
||||
cgjmTgbbMgmzqRRwGDDVQVGVSPwTJV
|
||||
VhPNvgVhbjPsNvsChTZlHtlwZccZMhwlcm
|
||||
fpznDWDzDfRqffpnrmcRmwlTMZrHTBHB
|
||||
fWdQLFSnDzpndqzzqgsVvPsJLMsPCgvjPP
|
||||
RFRDQVvqVMZGBVzqgqPNJNmNhqqPjnPS
|
||||
rcLLCWrtwlWrWlTbTtlLWrWtjPPgdwgjmNmShpJnjSpSjgSg
|
||||
LbLTnbbTHsWlfbtZRZGQHHZZDQMVFz
|
||||
dwcLLSLVdwLdvdfZNJgQZWfffVJQ
|
||||
CTMlCRCCCTCtBmCFMQJNNNbNfWvQjvZggT
|
||||
mRnnnpFlvhnlMmBmFMCMCcdHrwzqszprdcwzLDwrSz
|
||||
JSHLHRMlzJHcGMpwCffZctZmgfqqZm
|
||||
vnTWvQrnrQjNnBWvnvDnVgqtVWwVgfFmqWfqZFWZ
|
||||
rdQDBdBrQQhmBNjDTmrTnzPzPPLHSSHzHHRHRLdGLl
|
||||
GvMRRwGwRFmZRnmbMhZMGcpgZBpdgBJcTsjsBstdds
|
||||
SNlPzzlPDDQSDDDqfllqDLBpTgWBgWdTpcWjJQsWjjTp
|
||||
rScrCqPCSLDNrqlFmRVRRrbhmRmFRw
|
||||
dbtgMNlNSMQPSLNdvVQgSfcHHfJfHJtfmmHTqZffJH
|
||||
wssswnzwChsrGCCwGCjzCsHFHbzZffbFBcffbHHTBJTZ
|
||||
rsDRGDwjhWbrbRhGCGLdLNlNQVVDPSlMVMvv
|
||||
BgPccPPRlZZmTMTZzZTC
|
||||
jjNjntVtQnWHrJjFPnnqDqJTJTzqJmDDCqChzS
|
||||
FnQHQjHVNnWVvQpgLPGRdcLpbfLLBl
|
||||
JLMhFJfHHLJChRvfjLJJnFRpPrpPSrNnrTrTTPntTptrpw
|
||||
QgcBCqcGBBGzGrNQNSwSrPPTsr
|
||||
zzWdmzcWcdHCJCRRCF
|
||||
GSRcjdjGcBnFWbnVLFQR
|
||||
pCNqTqhDsMsMmNtNCZmMMtdCbVFzbFwnFFnWWFnzVLTQWQLF
|
||||
qNJpMdCsDNsNNvGPlSPPJjfBBB
|
||||
lsHjgmFsnFTwHgSPDRSrDqnqrrnr
|
||||
NmZWcZmzNMZWJbbWvJMJJMzBBBrRrdRfDfppBNqSrrrPBP
|
||||
JZQZzQtWJhmltVwVCjwGjs
|
||||
DslBHDpdDlslgffFWnGqHfzH
|
||||
JNMMCCCCSMvzzGfMzP
|
||||
hNtCJTwRwZQbwrplpDjlpz
|
||||
vwvJwLBzwhhwvzwrgwshLwVWWgFfmlSFVRDfWFSVFVfF
|
||||
mNqbdPnNdpdjnMqSFFMDfSFVMDFRSV
|
||||
ddpTPTqmbNjjNqndZzvLzJZzHCrrCCzsJH
|
||||
SLjjlGMVpLpNSTDspsrHpFFwRrZgRfwpfgFZ
|
||||
nQtWPzbPNQtbdzPtbBCQJNPcwFvZJZFFJrwRwrHcfcfrgF
|
||||
NQCnqPBWddbPnbCdWdWQnmdVhsMMDsslmSSmMLlVTTDVMm
|
||||
FZmcqBChfFmfsDjjnNMNjSDgNs
|
||||
RZwzdvdZRvTRRlvWSgDjStnpntDwNMtD
|
||||
vHTGRvvvZHlQPRQTbPTVfLJPqcLJBhfmFVJPCF
|
||||
dStFcccjFjqGFrFHmSHFBjBvzhpprWZpppbppDvzhsvDhT
|
||||
VMVLNfCCCRTTDtDDDTRz
|
||||
QLJwMMLnLNVLdtGGgmdScBnB
|
||||
nTCWnTnrllglrNgNTZFgSZbddHtdHLLwtMLQtfbM
|
||||
BJGqppPCJVmqqhBJCdwwpLSLHddfHSLHtw
|
||||
qmzBhczVGsqVBqnFcCjRWNrNlrgD
|
||||
phrHLNtnMpslNFfwVGwFZSBfFTTz
|
||||
cmJJDmmbCnCCfBSJGVBwfBfz
|
||||
DdqdDbcqCPcCQRWmQPqNHhnRMntNNMNhlsLsML
|
||||
gHHWJWMWsHWgWSnPwVnVNGGDbnwwTl
|
||||
QjThjhFqqhmQTCVPfDVqPbDVVl
|
||||
mpFLLrZjjBcmLFmmFtLBJMddMgSdHTscvcJzRHRs
|
||||
gRdwcCddwghzddzzzsGfZsGnqlqVVhjGDj
|
||||
DMBNpMDHrNrNLFMmpQJHZGnPjFPFlZjlfGVljGVf
|
||||
SpbQNmHMzgcRwSSD
|
||||
drqcMpNbpFpmjzfz
|
||||
HLGZGsnGLwllzHGGgGnGsBFfmJtmtjfJDSBSJJJB
|
||||
ZZwQwHTgZnwLGTTnQTHVlgbWCQNhzNcMqbrzcNNQdNcr
|
||||
TDScznfzNlpbbrtsvjdcbh
|
||||
BBHqFGWGFmVWqVBBWMtvCLvsLdvrvjLjdLbsvm
|
||||
tPZHGFJPJqVwMWHJVRRSZNfQnzfpnTpNfl
|
||||
FWNZgWCngsNwJwlQlrRTRhSjSS
|
||||
GGLcVVcVmppMmpTjTRHlbRbSrVBh
|
||||
rvmdzPcdzmzMrCNNPJFntFsCtD
|
||||
MtfLBzSLmMtfBMQzMmzmSlfdTDvGCZGCndZnZgWDwGCZ
|
||||
HhqrrpppcqhdbjPvbgGvTCnWDbTWZT
|
||||
cNjsdqPqchJBlmzlVQLtBJ
|
||||
DwwVFZlDBsZFDvLPdpjLjSVHjpLc
|
||||
nMnztWhhfPSffcddGpgp
|
||||
tQnrQzhzNtzbNrBwPJwTslTvNFFP
|
||||
LWMvHJJrJwtzvgwMwVdGfcpNfdDVDWfdBB
|
||||
jZPFmjnbmhPfTVfVHdhTTV
|
||||
qqQCmCmbqCQqjQsQvrQSHSJrzz
|
||||
wNzmDRwmgcGphZcPvLLZHjjFLF
|
||||
JlbsClVVqDqFZjJD
|
||||
WSlnCbttftsCsWftbCCrTffbpdzMwgMgSpRmdwdRzggmDGGg
|
||||
gCCRBClgfCgFFTltTGgBqTsQhzLzQQNPnvrNzHrrfPzHLr
|
||||
DMjqWSVwDwDwZDHZNvLQnrnrPrNv
|
||||
bcmWJqdVcbtgBglbGTCl
|
||||
SFDcrFHtlqhqqLdzTTwdJLPNDL
|
||||
vBWsWvsmgvvvdPwNnn
|
||||
smfRbpsWMBmsmMsBBBNbtSFttjCHSScbhHtHhHjb
|
||||
SQpgGgMNvggQGMvQcgnHWmldnHWTWndnSHHF
|
||||
DwbDPzthtttljTzTFBlmzl
|
||||
DstCswftDbZbCChPPRrfwsfPQlLccJQLvVGNGNVpMNvZcvgG
|
||||
HdqfjjLfHqFSHddVWNBjsWhWRRJtBNBs
|
||||
gPMQHpmrcmnbRQNRRJsWttWW
|
||||
pmbcZwbrPPrnTPMFFdDwqHwvHDvzDq
|
||||
FFsVtFGVGvWVhlfVhzlsFvHbPwPmwHLTSbLjcLtbSbLm
|
||||
rZrpJwCqnnJHmqcbcTLTbS
|
||||
RCZZQMQpzvRhswVg
|
||||
6
advent/days/day03/data/test01.txt
Normal file
6
advent/days/day03/data/test01.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||
PmmdzqPrVvPwwTWBwg
|
||||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||
ttgJtRGJQctTZtZT
|
||||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||
55
advent/days/day03/solution.py
Normal file
55
advent/days/day03/solution.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from typing import Iterator
|
||||
|
||||
day_num = 3
|
||||
|
||||
|
||||
def part1(lines: Iterator[str]) -> int:
|
||||
return sum(Rucksack.find_double(line) for line in lines)
|
||||
|
||||
|
||||
def part2(lines: Iterator[str]) -> int:
|
||||
groups = [lines] * 3
|
||||
zipped = zip(*groups, strict=True)
|
||||
return sum(Rucksack.find_common(group) for group in zipped)
|
||||
|
||||
|
||||
class Rucksack:
|
||||
@staticmethod
|
||||
def priority(char: str) -> int:
|
||||
"""
|
||||
Returns the priority given to each item.
|
||||
It is assumed, that we are given a valid item
|
||||
"""
|
||||
num = ord(char)
|
||||
if ord('a') <= num and num <= ord('z'):
|
||||
return num - ord('a') + 1
|
||||
if ord('A') <= num and num <= ord('Z'):
|
||||
return num - ord('A') + 27
|
||||
raise Exception(f"Unknown char: {char}")
|
||||
|
||||
@staticmethod
|
||||
def find_double(rucksack: str) -> int:
|
||||
"""
|
||||
Finds the priority of the one item in both compartments.
|
||||
It is assumed that there is only one such item
|
||||
"""
|
||||
half = len(rucksack) // 2
|
||||
first = rucksack[:half]
|
||||
second = rucksack[half:]
|
||||
for item in first:
|
||||
if item in second:
|
||||
return Rucksack.priority(item)
|
||||
raise Exception("No double item")
|
||||
|
||||
@staticmethod
|
||||
def find_common(group: tuple[str, ...]) -> int:
|
||||
"""
|
||||
Finds the one item in all three rucksacks given.
|
||||
It is assumed that there is only one such item and group has exactly three rucksacks
|
||||
"""
|
||||
for item in group[0]:
|
||||
if item in group[1] and item in group[2]:
|
||||
return Rucksack.priority(item)
|
||||
raise Exception("No common item found")
|
||||
17
advent/days/day03/test_solution.py
Normal file
17
advent/days/day03/test_solution.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
from advent.common import utils
|
||||
|
||||
from .solution import day_num, part1, part2
|
||||
|
||||
|
||||
def test_part1():
|
||||
data = utils.read_data(day_num, 'test01.txt')
|
||||
expected = 157
|
||||
result = part1(data)
|
||||
assert result == expected
|
||||
|
||||
|
||||
def test_part2():
|
||||
data = utils.read_data(day_num, 'test01.txt')
|
||||
expected = 70
|
||||
result = part2(data)
|
||||
assert result == expected
|
||||
Loading…
Add table
Add a link
Reference in a new issue