day 3 both parts

master
Skye 2 years ago
parent 200456de89
commit 89fd3bed34
Signed by: me
GPG Key ID: 0104BC05F41B77B8

@ -0,0 +1,8 @@
with open("input3.txt") as f:
a = dict(zip(map(chr,(list(range(97,123))+list(range(65,91)))),range(1,53)))
s = 0
for line in f.readlines():
line = line.strip()
d, f = map(set,(line[:len(line)//2],line[len(line)//2:]))
s += a[(d&f).pop()]
print(s)

@ -0,0 +1,11 @@
with open("input3.txt") as f:
a = dict(zip(map(chr,(list(range(97,123))+list(range(65,91)))),range(1,53)))
s = 0
h = []
for line in f.readlines():
h.append(set(line.strip()))
if len(h) < 3:
continue
s += a[(h[0]&h[1]&h[2]).pop()]
h = []
print(s)

@ -0,0 +1,300 @@
MVWpzTTrTFNNLtssjV
hRJncnJCnhPCnBSbCQRhhQRPFHmsbHLzbLNHsjNNFmGGGsGF
lSBQJBBBBcnccnQvBnPQznfrgwlrTZfDwTfWqrrpgMpw
sRPgrzSgrSbfTrgspBPsDWWTmdnvdZWZwTmwvdmd
tVGpCGqCGjlHcNGVNHZDmnZMWdWMWCdZDvnZ
HqpQptLlclLGtlpcjHNhQqfRhrSBrrbfbrSRrsPfBSgg
JpjLbQbFPBjDBBJLWltglfBfhhlcctht
vNFmsdFsnmzGtWvgzhzc
rqwRCCqmCTqHCnqRNTNFsJVMQSjLRbbVVbjQVLbLSV
mLNNCNDwBwDnmCwnJwLRvdlqZclRccsgvcZndc
QWMtVWbpVlgHHcgMHs
VsTVWhThsVQWzjtQPpVWjWbpwJNCJDCzSNNCCCSfmfBCSGLL
NbSfHnwDvwwfHwwQsHbWPgrsZsZjRPLRgLWhWP
lmMlTGFzVmzqjGLLZWWGhrCh
qFclMprqmrvbcnwDQtNQ
tWQZFvvtWQWbqQQggZZLvpLrpzDrmGDmmDHPzPzHrfnHTG
NMlhlTMccTCVBlRNHzJnzDDmnJmnGGBf
NMMSSSSSlNVMdjdNSNNhFwTbvbLqjbtLwWQwZqgg
jPwcJwRmmhJpbhNJVgDbrHzzzQzzBQHg
tdZqlCnnnlvZCqlnlCSqZdFCHGDBgzsDzssBtHGLQtrHsssL
TZZFSdrdlZMFZRMwMPmNcwNmwm
nsdhzmDBGQWQPvJPjbbW
gCgBqCNpMHTwgwqMPRJJTtWjbFRJFJvP
ZlCwBrwgmzhGzDrd
sTBHfcnBTnqHRvqPgFFbLtrQTPLjjm
GWzpwSJSpbwbNNGJPQrrtrrrrgzLtjzm
NNSlCCdplWwplCwSndnssdZfqVbHvfqc
rrfHgqnlllRrDgrCbQfszMPtmzPQzFsFMQ
JJLGVGjcwVcPQNNNtRPmLM
WThVJJWJBdGwBpBTqDrSRCCggShqbSCb
TbCqzqzmbCffzDbHRddLbdRFRS
ZmvZJPjPwwWNZJGtWSDRRDFWSLhhhMVVWL
ZwplGwmptNjZnjvnGGPjJlZppTrTsCczfggBgfgfggCsBrqr
gMBBbfBbBMfnMsvRvWJhDsQW
ZZqHLzczjjsLzlpjqTprNJvhQpRvtRJJQrtQtJ
llZlzZZzPZZqsTZscHczfnSwSPSwwgSBwwSnPwnf
chMtcPPgQtthqgvczhMTcCSBLBlGpsFnBnnsGvLplSFG
bhRmJWDRmHSmFGBnGBps
jdDZWbrDdDbbdbDrRRWwRjZRVqztCzqtcThcTQtgqVMMVzjq
flNmNHgcZwTzRLzMLRPlzz
nntqBJtFbbCbBVCnBtFjJjhVhLzLvRLvgRRvPvpMpvpp
CgJWjJQDjgBtnGNGfcssNfcwNW
MrMpMrGBznjPMGCmCrrjdwndfJLQNfdLQNdNggdL
sJVcZqvhZtVqhDFFsDJslcdwgwvwQwwQNbbTbwfLLTgL
RDDRcsSsstJstVDDqctszzmRmGjpjBRHPmmGHGrj
tdplZtlrBGwTlLQQ
sfsPPvNhWLQBhGQG
zPVfzVbbMcscvVfzzNgcJHnJZgtrrndJqjJqndrL
nglLjRCCHLLCnNCLHQnFNQmmVMbVmwMwlMwMMMWwBTsT
cqtfcqZpzhSvvBfWwbvrbT
PPqpDSqcSJPdPhtPtqZcpPtGjFRFFFNLJFGRgjFbGRNbHn
gjtRSLMqLdSgLMCltTSDQcQQqhDcfcfrWDhWrr
GwFZCwNzFJsPmFFmZmPPNhvDDfDWWmpvQWWfVDQppW
swNGZbPBGwnCgBBlBljl
BsrDsnQGwFFQQtfNTBNSffBgBt
VJlhWVLlRppLQZTCbtZTttgJ
ppLqqRhQdRPhqPVhdPjhljqHFnGnzFrjFFDznHFHrmwwnH
CJMmmJLmlshCCdmzjHjPWztgdnjttt
GwZvGwrgTcFpzHWjnT
GbqrvrRwbrbGbwwZBbgfhmJMmsDJhNRfLChhCh
CfgfjCLCgfgFgBhBsccswQwtsQHvBBtc
SbSMGbnmDMGJWmRmDmvzwtcscWtQzsrPsvHc
DbJdNpJSnMSJmpSSNVqgqgTTFVQTFqdZLq
MBMCmlllPSSlmmPPjCMpPgggJcnZgntJsDvHsDZt
hrNzhrRNbrhbGRbfpVLRGNqqngvnttngJctgDZJGcZvHvZnc
LTTzVqppSmwdTmQW
mmlBQmLbsbmRnFnwlqqprF
dZScZSZSdHcNMDcJwLqRfppzpzfTpHfF
JLWJLJJJdMmGtgCWjQjt
PPMzpVDblwGVMMzDLLjrcrjdzjdTzLjd
RRcCJRcNQRBqtCFBRJJsZWBWrjLWLHZZWndBLWjh
qQQtttNqsqqtJRgqQfcpcgDcbggplGbfMp
QmmSTQPmLSmjpczMJtwPzg
BHHHdwdvDpllvctjZv
HdrDHNfrrBDGGBhBNfHNsLFqmbRQSwqmGTLnTbSF
gcMmgRQPqqPPsgjFSvctCHvHllSSHcvd
JTWfZwhTwzbWwTFTrZnTrDDlDSVtVHLVShtvSHvlHL
bWbWBfzTfwrWJNbTrnzfTwJFpmMQgqsFRsQGqRMggPmPBG
GqCWpGGLpmpWjbSDGjGGmwCzZlvMBTrCvsrlwwswCl
FPFHFVdJgQHJZnslrgvsTrwMlNgw
hQVchcdcZZpZqcDG
JbBRgBsRffgPPFQttQvQQMvG
dmNZgmZVtGTNtNGC
ZqqndLZnccqRbsrgpggsBc
DDvMVmTjwFWPBBTzBF
cqnggcbNNCqbQQqbZbpfQpqgRWlFhLRBhRzRPLFJhlJBfPLh
dpscpcncbbqcpMVSvSrPDMsrjr
hGCGZmVRRcMVsGMtmZWssmFLzbFblnnzfmqbfnzNNb
wjrSPBJdSjjDrggpSJpdrSnlFNlzLTnqNLqqpbqqfMln
dMwPBHPPJHDdvrBBhshWCGcsQRcHRZGV
vdHwhqdtLdVnHBZbFBFzbBPS
TmNCLNDpWfCNmpCgTWNTDMMZlzSggBMzlZlMBlBbZZ
NQfWcscDNQrhqvGLrdhVjh
lZLqzzqvgrCRcQcCLD
HSVVwNTJzwVNTDQrRrrdrBwdhd
TpNTzsfSTVsSpHVppzFpgvvlqZWZPMvMjPPGGsgP
BCMLshLdLDDCgwFRwHHqqRqRWd
QnSqQlGSfpQzTQJNTPNwNPFRFcccHc
mfJJmztnQpGpvnSzGrsqgrhrBBhqjBrthL
BSlmzmlvdNnlQlQQJnJHRVFVFVVqMtqRMfSfCw
WBPsDPBBjfssFHMRRq
DLWpGhbPjbhZrhZDnBQgdNZmQNgmvdzg
WWvgBFgHWChBzgBFbjbtPtnPrsHlsRMrwRrMRR
SGfNpfdGfVpVSGGppSDdwRwclMlfPMwccsntPqPw
TVdpQDSpQZJpVpDQQFBbthvmWzmgvhbjzJ
VVCCbzqdbzhFHvbdhZFPmhCPSNRNGSrPJfTNRSGJfGwPST
LngtBnlcnDvLcTTRfTTwRtGNTG
DpnBjMpLlLDQWDgvpLvbqzmbjzVjVHqbFFqbFq
SbzMbNQQSDdmvqqzdSlWFpwZnvpFWWllpFww
CjLPTPjjLCPtBCLJjBLPLBTFsFFgfwwpZgplpgFnWWRl
nPncrBHGnmrbdmdmNN
FnlblGlTTbNVLVtRvQQvgqRQBCvgNr
DPMDMpMHmnzjPqDhQWvvQvhghq
zMMcddznsjFTldVGlFGT
cLSNGLhmRRVmlVCq
HvzbQBzBMQMpQDpCSlSVZRSCqV
QwWznWnTbQSMMJQHnvwbWjrhNhLFgsGNNrFLNnFNhd
dBrWNQWWcTNqqnNN
bPlmgRgRghlCVlbhwZccCZjZqvmqvmTTvGqmJTvqnGTGvLLJ
DCDZhjllcpDMrSQS
ddtNNTFTwRzGRGCwqnBMjlqMHMfqnB
hDpPsQLLSprhnHVhqhVfHM
QWLWDQZpgpWbQgfspGGRdcGcCcCcztTGZC
GGHFdGwFlswcFtnvTfjMjBFfNBjNBZ
JWmSJLPSRprWWPWVMMVQpZfBvvfQtj
RzPSPDbDDhbhPDLRhCgGHHccsqGCqqtHzG
dbSdptWddDMNtdFvttFclqMTZJlJTlMZqJTJTqjC
BzfwRzrwPzfzLNGmZZCZBTGBqqlH
hVNVQPNQQQVLPwhRrQwgWWvFdDsFWSbdWgdFSFDb
hhSnmhtZSFSqZBJSSqqmJJRHPPLgHtPcGGGcWGtvvHwgvG
fCMpfTQjTrzrzCQMsQdHGHvPGPwLppPRvWPLLc
MdTzCsCMzNzDCTjlmNhRmRnZBllRVh
RrFglccgBVVvFNvCvWlgmDbbDfQDtCdjjDbDwmZD
STnMqSLHJhHHnqLqtnBndbBdfQQZDtZD
GHJPTBsTSsMMSpSBHJFNlWzcvFlzsVzvzgsv
lplNdrVrVrWMMVcJfcDDzbqCCpDL
SSSgvBRSjggPgzvTTRHTvFnfJLbcLsCDLnCLDCcJBsJq
GmHjjRwvHSjHTRjrlZrNMzVMhVrmVW
gdtFtgStSbHCbHMPZrFLPLrVlrVZrP
hQnjMGfDqTvzvpBjVVjPRLRRjJ
QmsQmhvvMtssHtWw
RNjTGSCLJCGdRqMRFvMrfzMvzz
ZpcWcVDpWBmWQMZZpZDpwBcznrshtntvfvhfFtzmvnzvhf
WHHHcVWgQVCbCllbgMLN
ZjjdJHSdSzvcZFMhhhDqDHtthw
rNTlNqVWTmRPlshsDPDlph
WbTNGNmQBRQbRNQgNGmCLdvvjzcCSBqLcLnScL
bZwpSpBvSHCBqNzpdFffqQft
nWRnGRnVnljmlDnzdPfQfdcQPWWfNq
dmRDGMMlDmnVjgMlhBSwCbCgwHbBHhvv
NwqLgLBLgnwNNBGpgsQsddhhpQQg
JcztcZnzVtZvnVcJMTvTJtWtppsQHGdQhhHHQsPhWdPS
fJTJnMmvZvMvRDqFblNBNNjlBf
drZVzZzzNWWzwwTWTZrjWcLCqnRqNnLNLqCqnsPPRL
JhlBgvHBBLnwMBqDwC
GmGFSHmhJSGJwgFJmwJhJhgQVWVdbSWZQzZTrWtZzjzjTz
wPGRPpnzgwwGgLddFBFrnrnJdc
jCsVclQWmCTrJJddrdFs
lWjlCqfmlWccpGPPSgcf
hCThCzTdPcPhzqTzMfVfHrhMMmhVHgVM
lJSJNqwJsZBSsSBFsMprDmFmFDfDDHgHDf
JNGQsSSNGsbZZZSBwZLPtdLjttnqPCbtPbjC
vnlWNpbrNrpShhQDLRLB
MzCjPgffVTVgCJSRQhBdRdJS
VPHcfcBfTzVMTttMzMfgzMfHvrllWvlnvNvlmGwWNwwNmw
BwwsqPJqwBssLlFqLRCDzWwzDGRGGWfSRG
vTtmmthvpphpnNgNvvpvRrDCddDQrCQCzCDrCfnf
pppccNpTVVlqssHHVzBH
HWHphZWVWvMZNvpMtfJZgssffsjJgBlslJ
RLmrFFnGFrFFrrFCRwCrLNPwqfjSJjqJSJBbsqjbbsblfq
LnFLPPGLrGNRQPmndLzPmPmpcDcMHhcMhVHvczcpHHchcV
zwqqvNDVggwqVfNQRlszFBsCCJFtFlFPsz
MSrrGTZPGSSMSjPbTmtlHBBFrFHFsHlsJsct
MnmMPMSZZGSZWmSjnWgfqdgVQDvnqvRDggDV
SQCSBShsQnSsSJswsNpVppPPMVpGpnDVgg
WWjHvmtWZrwvtzzjTTRPrRRrMVNVVGgVGpGR
lTvWjWLfWwbJCQqBSlbB
cjPChhswrNVtMZJjVM
pfvTFvTzLBFndGTlJmVJZmNlCMGtCJ
nfvFTfpbBFdSFpTLswsWDbchwHCWHrbw
lNdNPLJJLHHHlpPJcvtVcsBBrrBvBqrVrC
wDTbwTQRZTMWsVWtmWhhTr
nzRMbSZtMQDnpzzJHLHNflHP
HrwwmwcRbmwcbrrTbwwcrTJWLlPshllhLccqLhnnlljhZhjZ
GMFMSNSpCBSFSdGpNFpBznLlzzhzshlGhhqPhGGL
nFFSCCSSfttBdddDQNDBQpSSrbrmWJwrHfJHWJrbVwWHrgVr
SdddNNCmpNNDhMswhsmbhvHM
frtzqqqFjgrWfgfqtthsnvRHZRRvFlhnvRZb
rtrgqzzrbWtqLGLLtBWzfGcTNCCVGpSNDppTJJVddNpPSG
WWJvJvBgpHSHScQRQSVQLzqL
ddZTlZGZVfQhZRLLMqsR
rPfwrGGrFjjNTGNCCVBggDJHmNDvbmmpmNJJ
bbGrJPRVPtfsVfFlMjBV
WQzhQQQNZQCWNnQDhzWdNjFZggmlHjjmMmMFjFHpMs
CzQCSWDTWhNhzWhTGJwtRRqTblwcclvP
HLDvZgZldDTnLLsswMpVLn
FNVQzQSPznCMmpBwCF
SqfJPfttqffjJPVlhvhZZtvdVDRZ
jVsLvHvvdrSjpJFsGzmnmltnml
nTNTRCTBTmmmFPMJ
CQnCggWQDgBrrSqHjDDfSS
ZpNlrZNcmctZbcZlmcmZhhpPvPHvwBMHJPMTMHBTFJvJ
zmdCnGzGRnLDjQnzPvMFVHMVMLTVwMJv
GGjqssqgzCnCzQsshcffmrbNrrNZtW
DNpTwhpLlWMDWNMhbJjGttJFHgDcjtjG
wqQrdCdqbFtCtJtJ
vffdrwfPrsmqVBBWRVlRRlTSTWSTlR
ZqTCTQQTFvsDSsBDvWBd
hfBLzRLtHHLDDWRRWWDNbd
pHhhnPzLfJcJhzHLzZjcmwCTqTQgwBqqwg
WJHgqgFqrVrqgqCHwsJHHVFZzppZFGGfTtpcfbdpzzpd
RvNMQlMBhwMdMfcpbM
LLRQNBDSSNSwmDDBQRBRBCHsgrgHLVnJVqLsJsnCPJ
BFhGsDsDsBtsPGtQDrrMdbdrffrffbJbRt
cVVqScVSWWvVWgVZjnrHJgLfdrLrnrLLLQ
WmvqNZzzzZSvVzqvcccSzSmqFGCDTGBPQGDhwCDhNDCwPBQp
RqTlHHTTrQqHlTqsrVDqHbrZFZwhpBhphZBFhZpDpLLLfB
nSzGCGdvzdGNPBQQBfhLZfFwFN
WPPPCJMtJSQMJQCCWMJslRrrRgrMRbRqVqqTRR
BMtfLsLZfTPmCtGWZrZqJNJqvpZdWr
bRwgHhhRhbbSRbjSglcgwHHJWPcJdPrnNWrnqnWVVqpdnq
bgjlSgDljHhjgwMPCLPFDMFPGGBC
zJWjczcWjSWghZgzgSSSZflTqwlfqTTbnQwhdTnMdl
NrGVCmNpHFPsrJFbFQMJbJdQTn
JvrtpHHmrCGJCJmNvNpVCsHVgzWgWDDcjjgjDRStWWDLSgzz
HzdFsBBVsfnTfsPmPtDcZqtMhDDz
wrjjRQLlwwwrJQLQbCrbwlJDSlcSDtPZmPSDclWDtcDqWh
RwgprLbNLrLbCCpRCrJLRLFfsGTNNZHBZnnBvvfffnvd
MlqqlWZclnPtZtDSSvwQQjgQpNQSRM
rLJTsBrsJBhshTNNwSQBWNvNgNSg
JbbbChCHsJzHzbWdGHThlFnnPqlPlGPPGncPtFlD
WcMVvwNNvjRcwTQwVcpNRcspPCFtbPztbCTFmtPtCJtbCzmz
grrgDhrnDLnLrdfdLZlLZhmCqzlCbtJlSSStFmttqsJJ
GHHDdgnLDDhrrrgZrZgLNVVVVcRNvcwjWvpWGcRs
qhGhPSJtGhGtJtvNjnJjnvmNQQmj
sRBFlbZsrdBRRGbVGBDwDMDQwQwMNDjjjVNV
CzCflffbBszdBCbdbrtLcfhhgHLGgPccLSPh
zShhHFzgJWFVFFHFHhRPNjwqPLPtLbtrbwVjjr
ssnvTmvCDfpCZTnsfCqwNLNPwbJqNJPwrjZw
vDvpmcnmnBDnsnJTJmQWMHMWzScFggRFRFSW
nnVHHPLrnpssLnrpLRnHtHrjJcCdzCjcDzMzdqwRdjdDcJ
WWTGQQzSGWlTmBbDJJjwMJjcvvlDjw
TGTWBTWmTbgzghZhgzBgpVNrZPPfntfNrVLNNnZP
TqhQnqqLnnqddttNqQWdtqQmppSSFFClRmzmFZFLSmSlFF
BcHjGclVPPBrVrcjrGGDrMgcmmRJbRCFzpZmSDRpRZJJmRzz
ccGjMgvPvsHMgvBHWlhQdqwtllwNdThs
WjddwRGgHRRdMbrwHRwWjHDtDZplslnJnZrsDvCprJPJ
QSLLFqQBffCFststlFnn
CSSmSqzmVVjWMdMjVWgT
lTfQRhVpRzjThpRQTTTlvHrvBvHnPMHgHqHJvn
cGDctCwCdDCGSFcJsFJsFBvgnMBrHvvrqngHgmgssg
SCbSDSFScNpfbRVVJf
RrwmdwMVjMjMTghDWNTJDpWfWG
SbPvNbvbSsPbSvZsPJtJWhHpGGGgJWgJ
lSFvsLNcqzqLrwnFQMnVdmnn
FgCJFTWntWTFtPLmJmmQJmCMMpljWZBwlGMljjjlwvwBvZ
SDSbVbdScSDzbLZMBrjlZpVrZp
ccsSDhSDffzbLNscfcfDcgqhPgTntqmnQmCgtgQCTJ
VnCnrHnPPrCwHmVWtqfMQQqzCqffCZ
DDbDcJJJbpJDGppFpqGZRWfGfddzMWtfWM
tTTglDcgFjwNPHPPwHlH
bMGbqqgPqqVVMGnbVqSMmRfPcJmCTPDDLJDTCmDm
FFjjZvFRsFCctmtvtJWD
wwFhHjQjwQhZrFjQbngglGbRMnSzgbRH
GPTTJSgTPrPPmcTPpdJsGGGjqbRvqlztqlRqMzGjRv
LwnfWLNwwHHQwHnjbbMMjWttqtMmMj
mhwfBDhnQTpJBcBJps
HQQHwMfwlltzMlVljQhVjjHPPPFGPFcCGprPTPPfDrDcGf
pRLdvRvJgqLRBSJCcvFnCDTPTcTGnT
LBLSJbRSLSqbSdBdgJRRqRbwjHHblQttlwtwhzpjMlwhpw
NWLNSNSDtgSgghgdcwccmwGntwclnT
FRCQzJRsvfVVjvzFJfQnffwCcmdwmHmmHmTwmCmdGBcq
sjfJvjfzPRPzvPPVFMssvSLhSSWrMZnSDNrDDhSLZZ
FvLpSLtCfPCWhRSZZMZJSW
jbbjwbHjQmHjHsQrQFMnwTnJznwRzhJRnNTM
gVrjqGqjgrgsFGLDtDBLLfLB
cgTvRWWLVScRWflNJJDfVJmVlG
nPPnnmqjmZHCHBHFdfwNsDhzzfJznhsfhw
bddmQqQjpdFCQWtLQMMSvMMQRS
wjnmPwCgjPnRlwnmvmvvPnTwbSSLLvsLDWdbbWzvsLzWbzbz
NqrGqFHqJlfhhJGbszdWQzzLNtQDzz
FfHFpphrJqJrpGBffcTnBjCnVTMjMRCnVljT
SrfSJGJpSgMprMHdhBGhsdsshdGsmm
nRTRPvQllQlblwvCjTwLTnvBqdhmHDPVsmDmdqshDVhNsP
lbRFHvRwlnlLbnbjLbLjLCzggSpWfMFzSZpzZFJJWpJr
vNLlFldlvPtHFPHQRt
jcpRsScDgshzjqzfVStntBTPMTnmWttntMpp
fSssgVjDsbqSVbCJClLRJLCZRZZb
wnHmCJccDDcrNnrNMRDtTzpTlMpTzpBp
PjSPPGjWjLzTjjMtzzMj
hWvLLFWvHvczVcVn
jgtngnnhMthcnLjMgCZvChDsmdNCvNNZDN
bWqFPbFbLzRFfZBNDNNPZsNd
RbJzGpzVLLLWHHQgTMwcTptQ
sJBhsMWQnhhrFBsFhlQQMfrDCDpLlVCddjTdDDpqDLTLdj
tZHHSRmNHcgmNzpDPJtttqjLqdpL
HbNbZmcHQJbsFWvs
VgPNWGbgSjGjfhRRFfzThtmtzF
qLCQJBqqcPPmLHhHFz
CcJvplQswNgZlNPSbS
Loading…
Cancel
Save