Day 3, Part 1
This commit is contained in:
parent
00944b19b6
commit
1f605618e8
3 changed files with 366 additions and 0 deletions
300
2022/Data/day3-input.txt
Normal file
300
2022/Data/day3-input.txt
Normal file
|
@ -0,0 +1,300 @@
|
|||
lflZfgnSnlmmlgGfjGthQPtLNsQhvbHLLpSS
|
||||
zrCVDVFMJTCTcCJMwCThWbtbpbWpPbtbHPLQssLsHP
|
||||
rBFcrwFzFwwVDcDrzTzJfnRGjllBdGZnnZfhqmdn
|
||||
FjpnFRDmbRtnbJrFJmSTsGShWVhGqGVVsmqs
|
||||
ZwPvNPdzNZwfzBNLdNNNNcLvhnQhqMTVsTGSWSqGqTdVWhMT
|
||||
vgLZHfvLffNLPbggnrbFpJnCbC
|
||||
hzJzGjGfqmGtDQtDSvVV
|
||||
plpcMBNBcCTlTgCMbvtrsSVsVJDJlrwDQr
|
||||
McHBMMcTTHgJnWqnRqjzZnnRzR
|
||||
ppvsGZhDGprrSjSllwfZ
|
||||
TTFMMFJMgMHmHmdqdSvNqlSSSNJv
|
||||
mgBPHTRWFRVcpvsVttppbv
|
||||
ZZDssfMDMtqqppZLLJzmzSTwNJplTSgpgm
|
||||
BdCRRHFRbccWWBvBHCdcJVngNVSvTgVNzgNNVmnz
|
||||
QHFFrBdcGtqPmmQh
|
||||
qLvQFRgLSSNgqQvRrqLTQvLttwDBFWDwjwFttDdlBBwBwM
|
||||
nbsmZnbmHbZVCGPVmHWtwlStBDtwBMtwWHMj
|
||||
CnCbhGCPpPCSnZmrgRNRqNRrLNgrzh
|
||||
vgLWWHRNLnWwLggWzwLFFzMmBMRMhMhTbhsmmsbbmQTm
|
||||
rScpJJDDpjtSDPPPJDpjqPCHBBtlTdblmmlhBsMMmTsbmtsl
|
||||
GHZHCPprSSwgvWNVwVZv
|
||||
dMrCMJMqvtdFwcjczjQzThtm
|
||||
gGbLblLpZlHvllQhlQwcjT
|
||||
GHRWvPRbPHPRvNGbvdRBqdqBBfRqBqnrfF
|
||||
VsHcljlbhmHbHHlcjVcVShJSCdJCfMrMMQDfRNFCfMRGfNrQ
|
||||
tGtvLtpgBTGvDMMRdMMgdCNM
|
||||
pnGnGqGtvtzTLjWqmSSjHhWhWs
|
||||
NJTDntDNDVjNnjBfjjjcCZCZcVqCSCLqcSScCc
|
||||
zvhgRgQvvdllgQbHghlvHrRHSScBCRqqwCLGqSMCZCGGGqMZ
|
||||
pvvrHzdgvlgzQphQsDFmnsNTTtjfjJJmPB
|
||||
ScnSZSZZlmjmHjjWHHWZftJVJpppwtVVnLJtnptnwt
|
||||
CFFlQBbbPQqrBwJrJJrGJD
|
||||
PgTqRddFzgdRPFFbFgqQFgsSjfHWfSHmSMWcjZlmZmjTZM
|
||||
lzBRtctbnBRBRBBWnDnDWjlLVvwGMrvwrHHQHGmDvHQvHGrV
|
||||
FsTgFCTSgsCNspzhCGMfTHQVwVMfMmMmrH
|
||||
hSdSFgghhqpRbLqjntqnPz
|
||||
DCDnNGFFDQdQmVDNdFVNFccpJLHWSvPLrvvvPtGGhSttLv
|
||||
sBgTzzZqrBlfljslWBhvHSvPBhSBJSSL
|
||||
lRlTgMzlzrwRrnmbCMCFnNVMnc
|
||||
MJQJMJHBrsdrHwts
|
||||
dbbSVGgbjVqGTVfqddCTpmWWcprgNgWmcWwWswpN
|
||||
LPdGGdVGPCVdLBlBMlDRRRMD
|
||||
vdcwZLTdTFFRDHVgmpppMmqZ
|
||||
jGPzCnQPjlsDVqDpqDHbgP
|
||||
BjWJrlGQQzrCzBzlzBCGBznzwNRNcwLJdwTJFTHRSTvtLcNN
|
||||
ngrgqTjJJZnjFJpnqnnVTLzBbbHbLQdLHLHbrdHdHG
|
||||
lNcltCCtvftfWssPbMQdMBzhbbcBDLdh
|
||||
PRtWsQCmWsmSsCNCSvCSWlspwgqjqmqjTpnJZwnZVpFwgq
|
||||
PjWjGDCjmrmWPNmvWDWFmgCNfVJRLfJRfLDLJQlfHplpRbfR
|
||||
MtZMtcSbccZshTtQTVVTpzHlLRRQLV
|
||||
cZhbwMnwqsqnhnqtMBnvNFrnGPNPPmgPGCgW
|
||||
WBjWjWjqZwQJnJZCZZbf
|
||||
StHSDRPHHcTrTrJpLCCMbrqnJn
|
||||
RvTTvGqcqTFvSvSRDHvRjlhgWBWBdhjwjGgNjhlj
|
||||
FSbCqcFsbCPtrcrqhCScbshMjHDGGWBLHBnjGLPBHGGBGnHj
|
||||
flQdlsgQgGnQHBHjDn
|
||||
vllgRZdmvsvpgdwZgzJdwRmprqccSFcSShJbTSttqMCrCCch
|
||||
GwwgCtvHgwcHVVDqpWdfnqVv
|
||||
sllBsSNBjSrLfqhLgjfqhL
|
||||
ZbQbZQzgQQPSblBggNQRHGZHHCmwmHFGGcwtJm
|
||||
CmGVGBTVTmmTWTNLLCVgCSFvDQppQQDDnDQDJpMggfnQft
|
||||
RrtdqtldPbHzRbnjRfQZjJfMDnMj
|
||||
wcwhccqrdrrlFmLGCwCtSwtL
|
||||
pzZznZphZnpcNWSwGwVVPzrPrG
|
||||
lgFllLLltgbDsrBCwrjWGmwmtw
|
||||
MgJbDLlMQRJccchrhc
|
||||
wbbjzZhdGDwLzZSBWqqHmZgssCWqFtMZ
|
||||
VRJccfvPlTTlQlHQCWQhMMhCCHqQ
|
||||
RlVfVJcPTVTfvvvJfNJVlcBjGjwhSLdBNGGnjLLBwzGb
|
||||
bvpqHMVTTpZnqnWRQQQw
|
||||
tfhFFdSFggfhbldhhZcnRscRcQmnRs
|
||||
DPzgFJzFLfFbFSgPFgdPglMHpvBpHTCMGpjvMMpLvvNG
|
||||
JggGLQgQpLpSPRJgGPSnGlFTDBjjRFvRjtBFjWvFjqRj
|
||||
cmHhZcMHcWjrTBjrvm
|
||||
dbHwdNNHhwTNThZHdlwQJJwngpgnJGnSPw
|
||||
DbZjVfjVLhZDLpWPHpMZPmmGNp
|
||||
lFcJJGcFqnBFqwJCHHMmNHPsdCNp
|
||||
BlwccRQtBwBrwLGbGhGggzLgzR
|
||||
RBhZPjlWqgbNbgGLBr
|
||||
MzSmSzpFdHwpswzzHnzjnvLCbgtrtLGLbJLLJNtJtbwJ
|
||||
MsSHdmMdpFfmFjpfcPWRhRVZfWQThZ
|
||||
mqmssPCFhhsJccVg
|
||||
FTttfwdjjHznJgfngpnc
|
||||
dNFTjQNRtRNQldRNrRdHMRrlPZqCGlGBCqqZmmbPqDmDCmGW
|
||||
ZJVRRZZJRcvmPhCJrvhm
|
||||
PPWQDTfWbnnstlCGvjGrWMGMvr
|
||||
TbbwddndsnsfDpwFqZFVHBVPqc
|
||||
tFmpJmgJJgmFDWgRgFrrlGSltSQvZChMtCMM
|
||||
TLcZHsjLVNBwGQCCGlsCShvh
|
||||
nqNdwwccBwVLwjjDznZzppbgzFZfDF
|
||||
qsTqCCCszjlqTssBShlQSSZFgZZhgB
|
||||
LDPmVgDDJdLPrPgLgPZSFZQfhQGGBQJcSFJS
|
||||
mvmVbVvtggVtvgdLVvtmptCsNTtjRnpRTTjpsqCp
|
||||
BdNPLnmFvLFNgnmBmnFGnwSZZZWwqWgqjwWssTHWSS
|
||||
bJhMzhbVMbDCcVpZtjHMqTMwtttSjH
|
||||
hzclfCppVqQfbzQVbpzPQLNFBdrvdNGGBnmrmP
|
||||
nLVLzBDJCCHqdLncqVJgSsDlGsbssmvvvbvbff
|
||||
jMNHFWNTZZNwMPrPWrrPMMrrvSllbgsllfgbgvQsvGmglZbv
|
||||
RjPjrjRPtNrwHhBtncCJtJtL
|
||||
jbhhjhNjvqNbmjMjqhtCFdmPFdlzJzfFfJQJfR
|
||||
GBBZWrZWgpSsnSngrrSgHzFzFFdClzfFQFlRZftQPR
|
||||
TrGTrGWHpHWGHWVWsngprHpLbLLVvcqMcNbVNLhwVNbtNb
|
||||
sQDvDmDLQFDRsdchzhBczLhhPhVz
|
||||
MbGGMjjGZSjvfHvHSbfwBqcPnqqcPVhPNnqnzjcn
|
||||
ZwMMHrWvSHbfJfTrbJwSMMfMsQDtsFRptlpdCRpWmptQDRmC
|
||||
TwMHdcTznLqzTrHdzzzHTdgMRQWRhJhNjjvgQvQQWNjl
|
||||
tbfsVbDCVSSDtSPQJWPvRNhQtghN
|
||||
FVGBpGCVFCbfCbVbZCSHqmwqcqLcdHJGwHqqTd
|
||||
lTlGfjLGwHNMggscsDRwsC
|
||||
MrFtrzZZPZrtVQtnrrFdQhhDPDSphgDRhDcsCCgWpW
|
||||
ZJmJVzVVJFHfGbqJGMLv
|
||||
zsFZVjzlHPfTzGfLGt
|
||||
mdrrmdMMcBcmNqNbPqfRDLPWPlqTWD
|
||||
BNQhmmrBrQghgSmNBQQSmvwssjZZSJHljJFFHZJvZV
|
||||
rLZCsZdMJfdNCsfZMrLdFmssnwgTRQgBBwgRwcngTNVRVQjV
|
||||
StqDHlStDPgRTqcwjT
|
||||
GlDGDhbpHhvSHWlzbWlhpzhJdrFLrCLmvdmFZsmJJjJfdv
|
||||
pJHJMJsJjSMFdHhszFvMhlmmGNlSmmBGllWmVlwcTw
|
||||
ZqZRDrZCZDtPDPDrCngrnnPQGVmGHVBWGWtGmWVwVlmTlGNl
|
||||
ZQPgRqrrQPqLnrLMvLphHdvdjpJddb
|
||||
NwbBjljFbcjtTcccqW
|
||||
RHZrPHPpNgZTzTqc
|
||||
sfrPdmPdpsmPPPrfQPVGlwGVBwbGVnFlNQCG
|
||||
hQdNTlzhdTvrhdnTBqcWBLsBHgWQgBPg
|
||||
zwzRDbDfqZBLHDLB
|
||||
wFbFmjjRzfmjGGMGMfmJwwGCCnvNhpvSCNnrvJvCprnnSp
|
||||
zshNNJbwGFJfGJzzzNRnHGnCnRHcRPgTmPmn
|
||||
LMDVtZLStrrZClBrVDllLSBWRPTPPRRPmgWPVmPTPHTWgR
|
||||
SDSqLMlrtLlLtrBqBdlMZjvffCNzwvhjvvzhdfNhvf
|
||||
SLQmGBmhLSLQTBGBGwdwpJjwwQjwcVpJZJ
|
||||
sNrWrWPNbHghrbgnNNzbWbFWdZpMpzVpdMZMzMMVZcwwJdwd
|
||||
frrPNNWshWhhHDvDGDRSBSRvttqv
|
||||
FJqpgvhJJRjFjZTqDsMHrzwjsSsSszMrMm
|
||||
PPPQWGtnbbfBmPsFswwsMrcc
|
||||
QfBtbldtWQfbWbnfGlFqZppvpFZZLhFlpq
|
||||
ZqSMZHHCMpHTZTWmFTFZPZQJBgVGVJQvVVSDBvBtcBBG
|
||||
RNsndwsNjsbsgGCgjQBttcBg
|
||||
NRszRRNzLNNNwNfhCCrfdmTqFZllFFHFFpWhlTmWpq
|
||||
llbbzDmSspGRpHpzsldzRRsVtFBBFJMMVVFLTTTMVtLTDM
|
||||
cqgjqvNgvqCjQZqgGGnhMTnMJVLBLMtFhhVFWB
|
||||
PfGGvQrPCjvjZgGCCCZZZbSmmmHlRpprlHrHwssSRr
|
||||
mRmpFpWpfMMgLnmS
|
||||
CdCsqzdRzqStLjSqfMnL
|
||||
wQRHdTzCQbzCwsTrZBlFZGpVlpFGQD
|
||||
qnMTnTVSTPTHTHcMZMvVpmppmFmVzFLLFLlFpG
|
||||
gBjDsjRRwhDDghthwwWZwLmpmwWWLWLbGZ
|
||||
NhZtZtBgPTNJJNTS
|
||||
jLjjmpHvzvZrfzQjmfHHWrfbqblLsSlTsqsgqPJbPqVglb
|
||||
FBcCwDwtwgcgnCwcGchtJSsRqVRVJPPqDlbSDRPq
|
||||
MBhthFNtMGCwhcwnpQfWjNrQprpvzpgQ
|
||||
RfCnWfnhCbwHgWjzBgzB
|
||||
PsVqDsSTshsgszpsph
|
||||
DPDvTVtTShhSZhmqSvLlQJFnQJJZnbCnlCCZ
|
||||
pRRdJngltnwwvTNSWqWffqgBqD
|
||||
HQGcsdrjzMDDBfGMGG
|
||||
FLhsdbzCLLHjhntpVnRPRvZV
|
||||
gZNwQHHNRlGvhvhGRvRb
|
||||
dpSSBDrzdCfcSzfrzZrfCfMbthWWWPttDthvMFWvvvPj
|
||||
ZdpBpZCrssBJZfSJBzBdCTcnmQwmnVVlmqTQTTQlHLwNnN
|
||||
ssCpTttVVVpzZDVvRpCsRtDgWBWBBFBJvvJHMBghGghrMJ
|
||||
lwLmNNLwSblbmSQLfhJHZgHrHhhJJhHHmW
|
||||
QLSdbdPqndlNlLdSLNQncpRtRTcRVTPPZRCjVCcc
|
||||
wzzJclzcTThvWSSCqRlQSsNN
|
||||
rDpVjpVVDpsQSRDRfQmm
|
||||
GLbjrLpFbgLVLLgdbjVpchcFZhvBwJvtvtJcZwRB
|
||||
wPgZgLVMfWVTgmTZZZftJjtfjtJCcdpjdCqc
|
||||
zGGbQQnQGvBBhGQvvvBBSBvQdhdqqCpdddDmJlCcDjCtJdmJ
|
||||
HszzHBzQBSmGSwTWgswZPWTVgZ
|
||||
GDFvzCFdrszSdNJrFfjjfqZjRfsjpqmcwZ
|
||||
WbbVtVnBPWMgBLMBnQQnBQHcjfjpZRwqcwMfcNTZRqqNmT
|
||||
WQQnVVPHtggLghWWhHnPVQbvlJhSlrvJDlFGJDdDCzGNFF
|
||||
dVhTBjBHtTVqWRJZRqhJZQ
|
||||
brSDTbDfcCwDzfCSbwMQnlqCRJnMgWWnZngM
|
||||
DFwNSrwNwbDzbFTTFtjmBpVdGpHs
|
||||
dPQfdfTzDrFDmFDBgBFj
|
||||
RlJRclcswJRvnwPcpjbjbbCZjFjbBmsbFZ
|
||||
pqncGlcRJpHGpllGHhvPhRTHrQrttVVfrdQzfrTdftfV
|
||||
RCzTzRMTfCfRRDzRfhSmZZlCslBbZZBVtZBZsqBL
|
||||
nvvJPpdcFnPcWnFnVZvBqVlZMbZBNVlV
|
||||
FpWPMdjdPhSTmwfSjD
|
||||
NDJjNHLLNWjcLLWCLJLZjLDtRqqtgtMqgtqnRqnSRgggtZ
|
||||
BwrlfFwmQwhwfPBFhsBdFmbQggCgqQVtbRSqttqMngnp
|
||||
llPPwsPlGshBJGWJLcHvCzNv
|
||||
rBvTmwdTSbnrvVWsWVftGfJQGT
|
||||
gNRLLjlPRWnFVRFDFW
|
||||
lpCpPNZqZCdvdppnSnBr
|
||||
ShRdCrJgHClZJtZDGMMz
|
||||
LvqVVTTNbVPLQNFTnwwMtzFZGDDwmtnM
|
||||
VLbNvpPvTNVqVbbNpbVPGNLPrRWrcRCWdSrCjWSHcHSdWpCh
|
||||
tNmZnLSZPFLDnLTmhJMWczQdhmWhWH
|
||||
bGqbgrpsCsWhcChNQfJz
|
||||
vwlNbppsRGRRSSSDvjTjLZjZ
|
||||
zgMZhgfBtftSZQQmLHpSWH
|
||||
cdqcqnrJVGjjqPVjrPnfpJmsQHQQpsSsbsSDmm
|
||||
NNnrNqNlrNcPTlBvBvgggfMv
|
||||
llPrrLHBHCrRRBjrHCjBdrPmvJZzZgZbmgJlZmZhMhhmvh
|
||||
pNDstVtNtGFNSDFScQtfwzzFJwmJhgqzbMwqZJmh
|
||||
fpNsptGtQcTsSTccprddCWPrWdTRBMMCMd
|
||||
TTtDVqTsTcJFgbCqmbCq
|
||||
NWZQnllzfBFZPBGWQGzFPFRNNgHbHrrwbNrmCbggJRHR
|
||||
nBZjGFjMQBMPZnjfWjstpcctttvVtcTttMpL
|
||||
qphVCCwnHqhnRVznFwvLtBTLDTWZtwLWWS
|
||||
JmdlsdlsjfJfrtjTcvtctDZSSB
|
||||
rsmfPGbrPbPJfPmrsgMrdJdlFTHhFCqhNqVHnNHHCFznhphG
|
||||
JsWFMJJzrhSSdFdldmmdmdQc
|
||||
qLLgCVTgLbBvqsQPVdQGcRRmQmdc
|
||||
bBCBgCCDbLDqTvqqjpShHfzrzMfjtHHSHsfz
|
||||
nvFSBFlvvgQFFBzQnlQglmRRzqwsrrMJJMrsMqrfrwzf
|
||||
CjZNCNhLDNbPZZLZZhwVjpcfrqRhsdJqdsshRTTdqJrJ
|
||||
jNNDDppjpjDWNVLCVVDpGVVPBFtlSQFWvvQvSSQHSgwQnvtB
|
||||
WhrQWBRWwhzgmpnSpH
|
||||
LqMVsJVvFMJLJMsfNjsTJvCgFbSmzgpSHzmngHbGPCbm
|
||||
jvMjjtqVjTRnwZQwBWwt
|
||||
jfTWSGSTTWhgcngQfbtJfNzztBQBzz
|
||||
pVVwsdppRVPLVmPsVVHsjPLPzQdzBzQFzFBNNrJZZQBzbbFF
|
||||
VmsqHmjHmpvGDSWDvlclSl
|
||||
PNZfTFSFfTFGCHqqmbFm
|
||||
WjzRWrjVgnjzplrWWjJVppgGPGsgstmPCCtcmssQqGQt
|
||||
pzjzJVvnzJjWvpPlnVRVrvnlTDLNNhwfdNZLfMZLwLhTNvTw
|
||||
QFrQZMFVrVpVszzcNTdMRCCb
|
||||
SvljGmlvLfwLhLLLHlHdNzsRthhbbRccRCRNbC
|
||||
LfwlDmlvGBSjjlLLgpPpFJqgQndQgZBJ
|
||||
RBjPRHdjPfqQcfhcdv
|
||||
SngFcJZJlcnctSlhhsQvGsDGDsDnfs
|
||||
pSmFgSWNJFNtStrmNtpCCjPVcbjjHbcWTBHBHL
|
||||
vGjqCPqNPGFGNftLwmZwfQNTLp
|
||||
hrdBCSHcCJJcCBShJswmLQpLbbQZTLLJmmZp
|
||||
BdHHSzrBWdzchzzCcdzHddcDVWFnjPjllGggVlWljPFFFWPM
|
||||
hBtZZnpbhbPZJbnhDtPnpBtpfjfNNzrrCzjFzFzFTjfjjWzJ
|
||||
gHllMqRSmqcqMTdggMqHlcFzRrFQWNfvrRvzQrWjWvWf
|
||||
gwqlgHmmdsgwlwMHZtpsbBbtDBThbBht
|
||||
CsDLFFLFCvczsCsJrCrJJLRgbQQgmMmPbDDQbPnMgMmg
|
||||
VlwNBNVhjNVNWBwWjtbRMRZzPmQnfQMPnlZP
|
||||
VWWSSwGTwtwWWNVwwpqJJrcJGvzqCJCqJF
|
||||
wLwSSbzwCvddlvvlSj
|
||||
THnQnnHttcvpQzrZRllZ
|
||||
sTntBHTnVbPbgzsbgL
|
||||
FwHgrHvFQQwpHhNhTBLdpNNNLd
|
||||
fCGqCVtszfSslCSzSGsfCssjNTqLTdmjNLBLdnTTTMTjTg
|
||||
DccfslfgRSSVVzlcSVtzDRVHwQZFrwwvwFWbbbRRWwrFJb
|
||||
CwwWwwFNRpFFpZQHtsmfqbQDTQTTqb
|
||||
VcjzLjGjzGjGjVjLdzqmDqHrsmsqGRrHqGqH
|
||||
RjdVlgdnljlBnSgPCpNwwMWwMM
|
||||
tCCtqtbPGzsSQVzQTq
|
||||
mzMmHMpRsRQTsFFV
|
||||
DpzDwgdMzMLppNmNpDpfgrbhLcGtPrbtrbrbhnbBcC
|
||||
BvsQBBBLvDQGjDvSQLTvrHprHlRpVlVllgRbRbHPqq
|
||||
MMMMCpfJFZZMmCzwpVPCWRtHgqWgqClgtt
|
||||
FwzmfzhFFdFcpvSDSBDThs
|
||||
fQrGQbFFFrHHtlHPclzzPLvc
|
||||
mTnwpNCCqMqjmCThpTpSvvtBczstlLznvsztsPPP
|
||||
mCpTNhmmpCqCmjmpTjmLCpSJQZVfFVrDVfffFFgfgJQFdbgG
|
||||
GmWjRBSfttcGfRcSclVVJqsTMllsgJVMVZwV
|
||||
pPFNpfNCdNzCVMTTNqVssqJN
|
||||
dzPfHCLLhdjjLGRnmnmr
|
||||
GPhPfGWgggfslffPsVPGsqJMzLQJtBprwQJJGQwLpQrw
|
||||
ZNdmvbDDbNvHbmZCcJQwMmzMwWWQrrwttp
|
||||
bvdDNdnvNbnHDdnDHHRSbnqhqhWfjWFVTVhRVjfjFTfP
|
||||
hTThfWNCDRfsVCDhpgzgbpPZZwbnZQns
|
||||
GSjGGcCBGmdjdSlGBcmZwzJzpPpJzwPwQbzgPd
|
||||
BGmcrcStcMMMmrSLmSMCvFVRFDhfFhhNDWWTqFqTvf
|
||||
ZmjDTTbmqQCCQQSwvhsL
|
||||
FGVJPmPmtRVRsCvvRLwwhC
|
||||
JgdHJgmfbjzTpTMf
|
||||
fTbsVCsssgLNrfNrgm
|
||||
zQvzZlRvddvpNLpZrMNNLZ
|
||||
HLvWFHHlFQvzHnnlnvQqhzWvstBwbGVtstjGqjjwqGGCcwGq
|
||||
JNpNdzzdJhNnfNGBZLqZqlhvSZSG
|
||||
QswtcmmwwmTmwwcwZSLlZLDSvSvlBZQD
|
||||
FsVFBbFgFsPwtVBTwgTPcsmpzdNngfzfpCzJdzCJzNCndn
|
||||
qcvrLBppgpWWWgLcpzPfhNDqdzqwDDzwhV
|
||||
MZFjFnHFMHbMntMtnwStfddPhDffDfzDfS
|
||||
QmnjMZnlHjmnMGFnFlMmjlZWzLgsGgcrspBBLCBcgvgBRC
|
||||
sdfWHjZfrZrSPMCQ
|
||||
zqtWRDDDRMbrQJPQ
|
||||
zwhwzmqwzmFpWzvFqBmFvjNHlHfgVLBgdfVfNVjLsl
|
||||
lRlBTlvlZfhtbGBWtFBz
|
||||
cqCNjjqjrNrcNjwDqNPCVrSQStSWshFhtQhbQzGzmFCG
|
||||
HjPPzMcdNqjcNHMqPjdpgpZflfdgnTfdlvlJ
|
||||
VpwQJVRtHplnnwtppHhqWBCfVdNNPqPBPWsBDq
|
||||
jzLZCrvvrZjZvqNffvDNDcWDWd
|
||||
LTrZZLFZbgTzgjZZjFClJhTHTplQpmnQlpmpQR
|
||||
JGJnSWLGSpWHVHwGGJHpZdwPdTTPMdTMDdlzccPMPv
|
||||
gqrrmtbrbgggqgBtqmRSrFgNCzvMDvlMPDdddvzBcPMMMDBd
|
||||
gjrmRgmtRggFtqjbhgbjrtnJJHWLHQWZZLhZsLLGHhSL
|
||||
BtTDNggLRPdWQHqggg
|
||||
wrVpVVlCJVGMMJVdHWSdPSqqRwSQSP
|
||||
vCVrpvvGjlphBRmZBhmBhBND
|
||||
lqDcZGcSSqSqbDnccSLJgHgLRfnvvJRLmvWJ
|
||||
FVCFPChQzVhmsFBgddRgJBfdNfJdfv
|
||||
FzCpmTQzjQCThppTSttqDccMTDGcDG
|
||||
QCSGBGCrCsMBTCQwMGSfvvLNNnnVLDlNVNDdVdlr
|
||||
ZHtPffjWbqgtmnNdvljFnFhdVv
|
||||
JRWbmgmRJtmJMGGwSBBRRRfQ
|
||||
LqNrCfCQQhtgnPnc
|
||||
JWBrWrVlbWgbbtcb
|
||||
VwvTBprdrVJVNLNMNNqfqpjN
|
||||
bjVqdHrdqVHPsPNbqHbqNdjFGRwRGlttRtMtRtFFGMLHJw
|
||||
cfSpZnBZWQBZJlGRJJcwGMGL
|
||||
WWBhTMgDTZghVjgjssbrbddd
|
60
2022/aoc2022/src/day3.rs
Normal file
60
2022/aoc2022/src/day3.rs
Normal file
|
@ -0,0 +1,60 @@
|
|||
use std::collections::HashSet;
|
||||
use std::collections::hash_set::{Intersection, IntoIter};
|
||||
use std::io::Result;
|
||||
use std::iter::Sum;
|
||||
|
||||
use crate::file::line_reader_for_file;
|
||||
|
||||
pub fn main(filename: &str) -> Result<()> {
|
||||
let line_reader = line_reader_for_file(filename)?;
|
||||
|
||||
let mut priority_letters: Vec<char> = Vec::new();
|
||||
|
||||
for line in line_reader {
|
||||
let line = line?;
|
||||
assert!(line.len() % 2 == 0);
|
||||
|
||||
let compartment_size: usize = line.len() / 2;
|
||||
|
||||
let (left_compartment, right_compartment) = line.split_at(compartment_size);
|
||||
let left_compartment_set: HashSet<char> = HashSet::from_iter(left_compartment.chars());
|
||||
let right_compartment_set: HashSet<char> = HashSet::from_iter(right_compartment.chars());
|
||||
|
||||
let intersection = left_compartment_set.intersection(&right_compartment_set);
|
||||
priority_letters.extend(intersection);
|
||||
}
|
||||
|
||||
println!("{}", priority_letters
|
||||
.iter()
|
||||
.map(|c| String::from(*c))
|
||||
.collect::<Vec<String>>()
|
||||
.join(" "));
|
||||
|
||||
const LOWERCASE_A_SCORE: u32 = 'a' as u32;
|
||||
const UPPERCASE_A_SCORE: u32 = 'A' as u32;
|
||||
|
||||
let scored_priority_letters: Vec<u32> =
|
||||
priority_letters
|
||||
.iter()
|
||||
.map(|c| -> u32 {
|
||||
let char_value: u32 = (*c).into();
|
||||
if c.is_lowercase() {
|
||||
char_value - LOWERCASE_A_SCORE + 1
|
||||
} else {
|
||||
char_value - UPPERCASE_A_SCORE + 27
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
println!("{}", scored_priority_letters
|
||||
.iter()
|
||||
.map(|i| i.to_string())
|
||||
.collect::<Vec<String>>()
|
||||
.join(" "));
|
||||
|
||||
let sum_of_scored_priority_letters: u32 = scored_priority_letters
|
||||
.iter().sum();
|
||||
println!("Part 1: sum of scores of all priority items: {}", sum_of_scored_priority_letters);
|
||||
|
||||
Ok(())
|
||||
}
|
|
@ -2,6 +2,7 @@ use std::env;
|
|||
|
||||
mod day1;
|
||||
mod day2;
|
||||
mod day3;
|
||||
mod file;
|
||||
|
||||
fn main() {
|
||||
|
@ -18,4 +19,9 @@ fn main() {
|
|||
let day2_datafile = &args[2];
|
||||
day2::main(day2_datafile.as_str())
|
||||
.expect("Unable to process day2 data file");
|
||||
|
||||
println!("----- Day 3 -----");
|
||||
let day3_datafile = &args[3];
|
||||
day3::main(day3_datafile.as_str())
|
||||
.expect("Unable to process day3 data file");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue