Browse Source

Day 3

master
Noëlle 1 year ago
parent
commit
11a9a80c8c
No known key found for this signature in database
3 changed files with 363 additions and 0 deletions
  1. 27
    0
      day3-1.py
  2. 36
    0
      day3-2.py
  3. 300
    0
      input3.txt

+ 27
- 0
day3-1.py View File

@@ -0,0 +1,27 @@
from string import ascii_letters

def split_line(line):
line_length = len(line)
section_length = line_length//2
first, second = line[:section_length], line[section_length:]
return first, second

def main():
with open("input3.txt", "r") as file:
inlines = file.readlines()

lines = [(split_line(line)) for line in inlines]

rucksacks = [(set(first), set(second)) for (first, second) in lines]

values = []
for sack in rucksacks:
first, second = sack
common_item = list(first.intersection(second))[0]
values.append(ascii_letters.index(common_item)+1)
print(sum(values))


if __name__ == "__main__":
main()

+ 36
- 0
day3-2.py View File

@@ -0,0 +1,36 @@
from string import ascii_letters

DEBUG=False

def debug(*args):
if DEBUG:
print(args)

def main():
with open("input3.txt", "r") as file:
inlines = [line.strip() for line in file.readlines()]

groups = []

total_elves = len(inlines)

i,j,k = 0,1,2

while i < total_elves:
groups.append([inlines[i], inlines[j], inlines[k]])
i, j, k = i+3, j+3, k+3

values = []
for group in groups:
debug(group)
first, second, third = [set(elf) for elf in group]
debug(first, second, third)
debug(first & second & third)
common_item = list(first.intersection(second, third))[0]
values.append(ascii_letters.index(common_item)+1)
print(sum(values))


if __name__ == "__main__":
main()

+ 300
- 0
input3.txt View File

@@ -0,0 +1,300 @@
rGnRRccfcCRFDPqNWdwWJWRBdB
jZzVVSZSjmQvZTSZfjmLzNPJqWtJBwqpNtBpdWdNvd
fZfjlMLVshMFhcHnDG
vJRmRfJbfRfJsCpvgLggNVsv
zlzSrMPZMgBFFMNMVWsjsF
dzBSBlzdcggRGdndnn
hNwqVDVDdmQwQPrbDMSSMRSWSM
LvnzJJtlcHstlffCVpMSbRMpBMbCgVWM
lGvvscLHcfsHtvlsnZmmNGhNFVQqqTdqFd
sHGzGsfcZnHfhbLRFrdrhRFf
vwVqzSSjSSttjSqgNMqwzSSVCCgRPhPhFLdCRLLrdCRRrDLb
vvwwtvvVwSvMQzjvmNtJsHBnsZllmnnTBBcBlTnW
pzNVBVplhfLfVfVStZrZHbQHZQTb
sdPPJdCjbdQHMTWt
ngmJGFjJwJCmGcnJcFtgwcDBNLlqfBpvfBpqllhlfL
TGpphMZhJQpGLZTMCCtsBMCSDsStBFcB
jdfgHClHrdrbWvWgjqmctSDqltDsFFDFBc
dNWWvfgCLzzNNLZz
vvHzBrTSvHFbqZqZTBBtzdVfGCGhJSfGJGDSdGMhVG
lgmgslssslscsnRlVGWGWGVMRCll
pQPsjwnNgQmnNNwQgNLNnmgZqvFqtwqtrMMzvzwFtrqTrr
TNhNLTrswwsnFNrrGZVnJnZmVpSjjVDnPp
dBlzzCBqgfWMBpPSJDHVZSVP
cqzfpcdcNFFGrhcb
LLpzCzSzJnLQVnTNhQ
vtDqwBcRztQbthtV
qZZZqZvvsZwwjvjDjspFlPpSSCslpzPlls
rsZVlmStlFZllvmSSvLRqcGMswMMzjMsjqGCjzMG
VTPgQBQdBCwgjCnJGC
pBNTNHdbdWLrDVLbDmLZ
CFmsmwnCRmjCjnCzJZQhhBGQBsMzbP
WvltTWVDdNttdlDbbZzJvPJvBBhhzM
gHDfTNlDDdgVNdglgfqtpcSFwccCmmwnRSwzzHHF
hgmhWgCdzpjPCzFC
NVfgffZblZQVNtFZPntPDrJjPt
TwbQLLfMgdhswWGH
JStSPHPJNrBCtBZMPtHTVfVwLcbbLTcSgfbVfn
GdhhCplmdWbVddLV
qpFvhQppFRlqmFGppRhqvvFzZtQMHZMzBNBCCzNDHHMPzB
MvCMQmJCMDQjwMJCSJpQmDcnGBggfsgljGNslsNGjTHTNf
HRPtRRzVWWFhrFdZhTGlTTLLggBLVgGGLf
zZhdWZPWRdqttWWRPzRPmcpmpQqvvSCvwHwQmJqD
NwrVVWrvwtQDRdRqWbqh
jCCZjlJZZGclGPpCJlcCBhJshgqTsQgbDdshTbgLRh
ppppflPZlpvfffFzHqFV
VmTwGVwnwHnSnqGSVmBBwwmTZvzbCrsNWcsZsqFzCWsbWrNv
JMPPgRDPDgghJggtzsMbZvsNCrWcNsbM
DhgJllPPJcgJpptDDDPldpmTwjHBmSjBBwmBwHBdBmTQ
vblvFHvrQTjqqhCpFwLnFL
RDJRWsdRdgdWZMCMQSVppMJpVL
DzsgRNNsftWdQmcvbPcfcBfj
wTgbsTmgqSbzSlSvFb
rNdDdZnRtJFlmVSHZz
mfNjjmmdNWhWCsffwC
LltBNFLHHcJcfNdNTwbbNsfW
vQSMCzQSGdSdvjsTwmwfwWwV
nRCSzMCQDqlgdlRJHJ
vgqTGwnhpLFsVvrR
ZZzTHlTlJNbcLfRtppFzfs
PlWBWbjQjJgCDCMPTTGT
wtBdWdDpjDdwScBtnsFsPmmnPbPHHPghhh
fSSVGVzlTlqGfffLTQMGHsmFsbmPFbsPbhQZFhhs
TzLzfqJTVRGvRMvqvLGzMqRfSvcDpNjcjdcwSDBDtBDvSCDj
FrdCCzmqFrpDRTRHRLnQJJnr
SGfNRWlBZlgtRltGbvnTVbJnSHvLHVbH
NRWsfWBwwqwDMDpc
vSfsmsdssdjSdZdSgRnmLRGNzgGnqwwB
VrlThFPTPjHFDPRqGGnRnNLqqqHG
lPtTDVCCDrjppfdSQbcJMsbftv
RFFslstRRfSljtsRJPjRtRtngSHbmbbhGbHQQmgbmgGhGQ
DqBZdWZvTdMBBTLDzqBhFnvgVhnHHFbnQVnGnb
wcwMMMTzZwsjtCtjFN
CsscSlwwZDscMNhhpZhRZHRM
VjQvjbQvbhJVbvTbnQTnHHLrRFRqqFqFVdMHNHNH
QbTjjbtJnvttntjgjJjPDwwsBsSsSlslhlwwPCBS
RLjhhBBcNNBNhNjhpwScwSCTFwcFvMwvlc
dJqPJqbqtmgmgdPrdgwvDTCSSlMSFDlFTzFg
stCCqmbGrrbmPsqZhHhpjjNhfjBnnsnp
LfDzcMMVsDLLzNscGhFFcQhlhhBRll
ZCbSbwdmwPnPnPmHjdjWFWsWhdGjdH
bZnPbvnvqCvJDrLJNssf
bbldQHVltHQSSJJmTlwJGjCjCChchgMhHhprCpMv
WNPDFfqfzFsBFFnmgjGhgccjpcpgMGrs
mZFFzDnmzBBZltdlZSVtZS
hdJZZdJTvnJmRphvvpGnwvqzVFSwVlHVlFHFHNlzlgFgHF
QWWWBbrCCrtjQsMdcWMBfttHsgFHVHgFSNzDzFlVLggHzz
jQdBPCtrtcPcMQCTnqnhTvPGGvnJGR
ZhsmsbNVmFssmblMMpdvvQdwLQRppRvQ
GjnNNGNCGjfJcqrQDvQQpvQLPpnQQw
BJjWqWSCrNHrqjfhlHzlVbVtFmtHTV
mtJmPmQBbPFshnJzZpLZ
gMqMHRGrCHSvrRGrqPZLnplFzlVhFspL
RrDrgMGRDPNtfmDN
wqqvqVmlpqchqrDD
gzRltSjgFlWshrdngrpPcDcd
RRjtsbGfGLbsLWSLtjzGSHNNHmHBwNNHNmNfllwVfl
mqFBQgnMQQbJqnTswSMNWGsDswZZ
HgzlRzHccfHsfTwSWfNSNf
VLldvpHLVHrFJFJgpnQbJn
SzCJtLdDCCtqCcdDfZMVMfGVbsVZPPzz
wpwWQWjQgwQgjNBwgHQgsGfPfbPsZPGSPjZmrPrV
QFwpTwpHlnHFNFWQWlQgNwNLCddvDShtLJnSJCLqJJttDt
HMgCVHggtqMMvjgNjNCMMwfWfPwWPJQQNzWwJzlQlQ
bGFrqrFGZLLdFmSPcmPzQJlQcWzJmJ
hRphhShnLGFdGSFSLRGrdqdqsjTtsBTVTTBnVjVvHHBtHggt
hHhnFHQpcFcHjcjfZfZRnjjnNNBvNNNtwvNtbwPtNcPtBgbg
zzVLWCHLSdCttbvw
mMLsHDMVFlRhhmhm
MHMgBNQQPCMMQBbBQQgJHbWttdlfWpZJVWtGGztfWJZW
nvLzDTDFDFqSqncTFddLGfWfssVWWVdlGs
njScSmcnFDDhnmcmnSBzMggjjMQrQCjBQrwH
MFVFHqhHHfVVSGcVQCLttttWTtLQ
BgdJJrJzbGpLssCtTLLCpC
PGBGdjjllBGBjhmhHRlmSfhRDF
BLJmWwBJDDmLDFnVPzvTttvNhNFsHhvvQH
cjbSqfWbRrbSzNMjhtNzzTsT
dRdbgflfqmWggGmwWW
lBTTnDMnNwWdpwMllTMDdTBTSRJjRRcSJRhRGhwtccScgjtg
vvsnCVnHHnsvPzLfVJjtShgGJGVJSc
zQQvzCZbsnbHCWMdFpMqblBqND
CLggQjStSQjLgVRfhBRztwpBpt
DNVmJDFcGNGlmNDnGFnsGcDdwzzZwZPsBPZZhhfBTpwhPfZh
DMDccrnrdnDJcJGFGmCqbLvQqHVSSQVMCgHV
rZVNNDrCFCbjbRSgjhZv
czcMTcGMlcjjvvvGdhbb
pHMpHtLWHHHztMzsvqvnVqNvsnNDqW
hPhPBQVjzjQScjChRVVVsdfbvdmvvpGmvfdbff
nwZwZWNTrwLTTDtbfmHDpGccstDv
FLFJNllFrwTgTwNLnwTlFPhcjjhRhSMSjjBPhzJPQq
CgJCHgJfHzGrrMjJpl
SWqQLSQqdFSLrrCSZrvpzjMM
QLWqhFLQdwFqnPbHcCHPbhCh
jLplfcfjQfptPtLTTtPrRqCCCjZvhBhwhDjwhBBBqC
msznRWgSmmHbSJwDvvBqCCqWFF
mzdsVnbbSSznmbGgGSmTclPcrQffdLfMTLRLtl
PpQQFdNFBtdsFNNPPthTtldwGMnZVvmbbVGbMwrGvG
wHWRJDjHHRgJDZlmVZmnvDbDDM
JqJfgRWLSqWJfcsBfwPpPwFpNwfC
SjpVgjghVZvssgsHjQfHcfcnfNcnbqcRbr
WBtNWTWNJnCTCbRbQR
FlWGtwPJmJPBmwFtMGmpNhDSSSgZhSszzghsMD
fSfzvQSbbSSSTQQzDQTzHsqHmjHVFsjqVJsbrrLs
GWZncGGdBwlPGPJcGlBcPgNGqLqmjsHMVLrrVMwjsMMssLmr
ltGWNggZJnCRhDtzvtTt
zzSHMgsPWzLSJQMMWQWLJBLVqcmVrzmvcpFcqmqpmFprFV
TlDnwhDblbnbbtbjdpVCrmFVDgmprcRCcF
hTdjgdldgdfZWWGGHQJHWZQH
TZVsSRGsGMGWZTvpmrgcMCmrwwFFgF
BDPPnDDLDqDFLNLgctLNrm
PzDPfHPdDPdJPfdHJqdbnnSVvRvsjZSvbsrRGhvGRhTG
nnghnhLhgdVqSPLHcPHPNtpmrRptNt
DwvMWlsJlGzsGMlvsZcWWbRrNHNtZtHttHNTNttTrTTR
DDzDcwlWWGlcsszGwBCggFqgghCBfqCFdhSh
GzgQpJnwgJfbSWpSvqtvlBtmSLmLlvLS
zCHsRZjHdzVPRFNlLlvtlNMNNrtDrt
zzZVsCcCCHzRhcbpwGJGGpcf
lVQMrwlMwwMCBZmFtthmVmsgWhTL
bdzHSSFJcvzcpFDptsDDmhTgLmnmmmhT
SFpcGvdpddvGlBPZMCGrBZ
QmQTQTFTSQPNbsPjPnntZjjnnDlBBB
JHqJqhfCJpWfpHchRzzCnGBjtjDZltsZpljGntrr
chdMHqHcMhWMfRczMJmmQsVTSNbNNFbdQNST
HHdFqqDRdNsHfNRsjWPCBcCCZPwDCZVBVc
lhlgprMrlprbplzwZQPwwPjbZZCPwP
lpljllTGGGglhThpjSvdssSnfRRTdRnvsN
sDzjCqLLzddjsdRsSShgmtnCgFnmnffmmFcf
rJbqJMTqJGVTrgnFmfhcfmnJgm
GQbBWZGbVrqpqWpZZHlwDsDsRsdDlDRDBDsD
LbLbvbhQgblwwqbjGG
cFTTMsczJsTWJFfNNlVqvDqjNvlFqZ
mfMvJHvmdLgLRgpHRR
cvhRpWWhpfpcTpWvRcRcWVNwsjNLJFsJjwLtMLdsdsLJjL
ZZPqGqgZrllbbVMtnJtllwJtltnj
rrPCSQHbbrSqHqqZGGQbvzBVTpfzmvBvcvRCTpzT
VMzNNhWVlrbJHbjcJCjCSR
qgtDBgBtTGjqJvSPRJHCqHcd
GfnfLjjgGLmgBWpWrMMnzWZppl
zRtfBftCvvPSvPclZgcgJznWcgnq
dDpGpVdwdGphbDMpdQhnJjjqnZQWnZNcNWlqlJ
wdFdTDpGDSCmTtRqRq
bTGrRzjbmbmqsGDDjHPpWpfjHJZFVPJp
LwdwNNgMLfZTdCHPPd
lhtwtvttgnchcsrvmzTvmsTbbm
dfLjdlqLtqpbpPQpHS
ZGJnFZFDpBWWGBTzzrhmhHzHQPFPvQ
NgJGGGNGnJWgMDWGgDpWnZWgwdRCtwCCRVLdjwVcccdwct
MMtzRCTnVVnHbbMNrHMRRVQJFrPPDsrsJgjjQGJGpFFF
ZcqWqdfcmfhwDgGpDJmmQDQs
LhwBddvlddvdLCgCtCTzgzMN
ZffpWcfPcPrTwlVCvDhhcS
GMLBNHjMBGtmjtMQMJjLHTwwsSswdslhGwDhsDvCvV
tQgNRHMHQggHjQttbZqfFqrnqSZWfPZR
MDqbPdqGfwGbfMswqfJdPGgQpCZvQgmvJFCmQJQvRCQv
WFthczzzrpWgpHlRRC
BhLSFnFrcLzhtSFnSTznhGbMGwjGwjjPbGDqjdqTMd
zbQdJbBPTsWcCgdmfC
DNqZHjvwZMShDhwqvLmlgVnLmcnsfnVf
HHSFSjNZFqjZrhQpPtzrBgQzPrpB
BzzJHvJJvWsgzPPTWPSJsJgNtmMtNFlvNZFltFtttjmtVZ
cbccGnqhwhdpqRnnrdqdntZVFfMCltMtGFCmtFNFlj
wnlRRQbnpHQWHgSQTs
SQQBFnPzSnQVSzFSWlzlBSWFMsqmMmzLLChTmmMqzsTChmss
ZgdwrJdtJrgpcCwZNbbjsGhGDvMrrqmmMmDhTsqv
NtRZwCbZbbjRZNJcRbjWVWPnWHQWVPBQnHlfRB
jLtlpljLpsbRnDNtBpbjdqWcqChccbhqChqbWQbQ
gVwwggvJJwBqgWqfBCgT
VHZrPSHwzSwvDLnnLlsrDRBp
GBDGDrhwVrFhVCVBvhhvwBDVcmlfcPcMMmmmqNTScNNNflSF
RzRLRbddjZTbTQjJSWNzlNWNcPqNWqSf
dHjRgddHnZngjHLnQsgZHbGrrVpwpTtThnDBppVCTpDp
dpjwvdLwtvJszhmzhRVj
QfFQrffPBCBZMQrMRWzmzmVWVghVLs
GBPGBrFrHZTBSTqvvLNtqSpq
zFcGnQcZPZncbbbhPncpNCwzvwmjMvwwmwmpvd
tBRtdrRTJNvRjMMwRC
rlWSqVtTHqtVTrngQnfbQFdcghgW
RMjfvsbQPvvNpLmLprFJFrFJJT
SqCtGCcZZCwcCqqcGdWGdSZmMTmnVBdLnTTgTrMgrgVLTB
lGzGzHSCzHctsQRMsQPzDjNs
FQTWdTVMDWWVWFDTFcVcWJqTlCCCSlFmtCmNZStsmFmCwCgm
nPLbGZzrgwBlbBlS
PppGRnzPnpzvZVDJVvTfDVVVdD
CQlDsWWfflWDMMhRmTGqFwSjJFdqwSQJzF
PgpVbZPcHgBcgZrBZcHNTTbdqTGjSqFjRFjwSjGG
VvgRBBNLRrPhsfhLWLWDtW
hHhZDcDcPZWpLZWpCQ
pbqdwmbqqmBpdMsgdqjCGvfCWGTWLGmWfGQtVt
wjjbsFBRbwFgMpDznPDrrFcShr
zGmsJQsDBBmDDJJpRZzSqZZPRffWRSqh
LQlVHjCCNCLRSgWlZnhPZW
bLtHCHtjVHQDTJcGDQbs
QPRlnHfPllgRfnqhcwgwGMGzBWzBBBBB
LCtVCZtDbdttjZFtvjvdDMGGBmBWWZWBBWGSsWJSJm
dFVNTVbTjMnHlThHnpHR
hGhZLlqmqZWTcWrmWqrWmTrqjQVQwNHPgPwPPSgPjNwVSLjD
bsMJBRMvRsvsJMRRbspFgQwSNNSNwVNjgwDMDgHH
pFnFtvCQFsbBQzsBrmnTWchWZqWqWqGZ
wpwlJdCWJWdzlWGRRcrDrwRqrqDFrF
ZmPsSVnnTvmHDgFcDTHFTF
smVvnSQhbsNsvsmsnQQclzGCWpphppLJCdJWBpll
FfSmMJmBDfBjDSjFtBVmftBQPwPhPCbhQvbhwCCbvhhjhq
ZnZHZgclJWNbwbcbcwPrQv
ZNNGLHzHNZTTJnlFFfVmDBsFSVLdSD
DDBvjMvBJMtWjNRNrvdtbshTdpssdPSgpFpP
LwGQcwLGJTSssQbg
wcfcCcmHfJmcLLVZVqBBBqWDRqBRDWzHNN
LhnpcdcdrChplvllHptlgR
TsSTSBqPBTGNzqGfzfffGfVtPlHHvMDtHtRMlvjHHgtv
sBfWNGQmQbCgQhQn
pnnHngqsRjstjRgtrBDlBwDgwDZBldlD
SFvJMGhhvcbMSWPJbFzVDdzDZwDFlFlzfFBV
JJNWGSWSMNMCPhcvMhGStwtjtRRtRRqRsCtQjqRj
nQZfJswFffjJplqhlqZlVVhp
vtdCvGdBCzVHgnzLDlpL
BbCTGvtGnBBCPjrsccjrwbrFjj
wjjvDQwWvSQDLbwfNrrJcMHrczcpWN
tTnqlRsTRthFhnnpfNrmcTNMzfCzHr
slsBGVlqghMRhsRlltsFDgQSDbQwPSPLQSZjPSLQ
PcQmmQRQZRFQPjjDWhgCgWdM
nBGtbGNBBGvJbbtpWhCNCjmMjHlWHDdM
vbBnBBrrvVBtJJbvtzzptRQLLZLRFfqLSTSfzqwfqm
PBFZDFPsDZBnTTBdDHSNSpNzmVTVmVGlNH
WvqFLWQCMQLMRtQJFWQLvQCJVzmNjNzVCllVmGSlNHlVzljH
WRtrhtWQWFbrrBwBZrbn
MwWnMPnMPNswjPDvRbsblCGFZGZF
JdJVVVtLdgZhvGVBDZhZ
rqmdqtgcLQLTfWffwGGmmp
QQhhWzQWsMhZjbbmffgfjrGDdfdGvv
HnCJVHcnnHttCRVRCcnBCqJBGfPmTvTvdDfvqfrddNDDggGG
wBwwcRBBCJpFcFcpnVVFQWQLSLbQZLmhzshMlMwQ
CgDNbsDcHjTcgDCgjRHMJrlHFrBHFmrttrGGtFwG
VfQJnvJdhvSJZphSzWpvSzZSltGGBllGBqPPFPrwrmfqtFFB
VJLvdQhphhQnjLsjDDjDcRbL
LjljTPdLdccLhcMZhTTMdzrrtzGgtvrgnttNDGrWtDgn
hbCmCHqHmSbRgNrtvCgGgttN
SJFJRFpHqwSFSpsHwbHwRhSJPTjMMMPdPlPLcVQscLVQQVlL
QmTTQVqrVrMvbCwLczbRlQ
sSNtNGZFjBSsjSSShcRvwCFLlzWcWRzCWv
LLNjZhSGZBnjhJjjrrTgPqgPgTfqfJpf
DCCjDDtHVptCtvMZlJbSnScWWfHlhW
qsTFmTgmqRRLswQGmfWwSnZSSfJSSWZcWb
dsmqgqdsNgTFLFRLGmRpBtBDtDNVpPCCfVrtpD
LLNRhHhRbsNGjqCBPBrLCw
lgcFfvWGTllzfJVVFVWDzFqqMrZCMBrZZqvSrCPZSSrr
fFGGlTTTlzWQGzzDFttQmHnpnhtmmpRssm
LZNnBgtlNZztzmGHmpHHPPPm
QwjjQRCQScbFFFchhFrFjwmsNPHSSWJGsGppMSWMmWqs
dQCwwbwhrjQQjCwRwbhRBlDDfBtVlnNnlgLdnvvd
wRbGbqqGCwnGTRqBqlMVphpgMgMFdnFVnt
cgzvssscgHJVdhDdhDMvDM
PjcZcsJrJHWgrPBQmCqRBPSSRCSb
rHBmLlPLlTzztvRtGsVL
NWJJWWjJDJWWhphqwCFCwzvRVcgRtctRgNNVVscsGc
hqCCsnCpCDnbCnWhwpbHbBHmMBMMmdPrZfdP
GRPprPQdsprGpGgGTlqfVqnZLgnLnwNZLw
CCWJMMvhhCvthtCjvDWFjMcCVZJLNnfqnllwzlzNnzzwVNnN
cDtZFjDjcMCDDtZFSMCvvDpmsmSRRpmmbSpdPRdTmTsp
mmPpsbZZbbzvzgbrZRPgPMWqtHtqDnGCnMWCDwGHwtwW
cBFBNNccsTLjJjfcjfGDGQtWwFCnCGtqCCQH
TNsTLJlffdldzvrmbmrPzp

Loading…
Cancel
Save