Add solution for 2022 day 03
This commit is contained in:
parent
8e9b63cfc3
commit
7f57a38e5f
@ -6,7 +6,7 @@
|
|||||||
| :-: | :----: | :----: | :------- |
|
| :-: | :----: | :----: | :------- |
|
||||||
| 01 | ✓ | ✓ | [Rust] |
|
| 01 | ✓ | ✓ | [Rust] |
|
||||||
| 02 | ✓ | ✓ | [Rust] |
|
| 02 | ✓ | ✓ | [Rust] |
|
||||||
| 03 | | | |
|
| 03 | ✓ | ✓ | [Rust] |
|
||||||
| 04 | | | |
|
| 04 | | | |
|
||||||
| 05 | | | |
|
| 05 | | | |
|
||||||
| 06 | | | |
|
| 06 | | | |
|
||||||
|
7
2022/day-03/Cargo.toml
Normal file
7
2022/day-03/Cargo.toml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "aoc-2022-03"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
itertools = "0.10"
|
5
2022/day-03/Justfile
Normal file
5
2022/day-03/Justfile
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
@part PART INPUT_FILE="inputs/puzzle.txt":
|
||||||
|
cargo --quiet run --bin part_{{PART}} -- {{INPUT_FILE}}
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cargo clean
|
300
2022/day-03/inputs/puzzle.txt
Normal file
300
2022/day-03/inputs/puzzle.txt
Normal file
@ -0,0 +1,300 @@
|
|||||||
|
QtGHnGlcwQGvHwMHGnnGfRFCJnRBfVVJRVBfCFBh
|
||||||
|
qsDjzNWhmspNNqVrfjVfjJCbBVfB
|
||||||
|
DLhPTmNDTzTqzpmzLpswGMHtMgwglcPQMQvSGM
|
||||||
|
ctwDjvgtltgglHrSHCsQWBBDfS
|
||||||
|
ZJZdVnmhmfCprnBTfS
|
||||||
|
dNddhhdPRRdbdNcvwCPCgCctjPlF
|
||||||
|
MNNDGMWrQsfhtrTnrm
|
||||||
|
jcvRPRPJdvccRNFNCjLdcwJCSHtHPmzhsSzPHmfhnftnTffH
|
||||||
|
RddRcjRvZgZNWNgQQb
|
||||||
|
fPrvhqhRPSfCCfhrqtbtLcmZmtHCtpCFcc
|
||||||
|
WFQJlTdzgGJVQGWQTzdJcHbQZtLtHmbbZMZHsZQm
|
||||||
|
JFNlzTBNJGlNPSRhfqRRrN
|
||||||
|
tdVVgttdDtJJsNPmzdQmjcPP
|
||||||
|
CBTMmmmbTBHqHMwQcZPWWsWnzbbnzW
|
||||||
|
CGlLFCTMGvqBGvGvGSRSRfmtRRtgVgrSLS
|
||||||
|
LHSGJLWZLqHQHpRHRz
|
||||||
|
bpBPVtpCwPgBCtqqvzfzMQvjbbjz
|
||||||
|
lhVsTgPlBNThpBNwBtVThPnrGGWJZnLZFnFrGWsFrWZr
|
||||||
|
nQbbbjpnsdsGCSlmHtJmvljHMjWt
|
||||||
|
cDcgThLVcPTHVlVlHllvWp
|
||||||
|
cwpgghTcRRczDhnQGGCSdfszdSbS
|
||||||
|
vTMFDNTlDhjTDNMNJDwmWWWfGPfLnnzLGfMmmL
|
||||||
|
bVQgbpqqtctzLflltnCz
|
||||||
|
VSqlVSHRFvNwJSDj
|
||||||
|
RfZfjljffssWLWPTGPjhzT
|
||||||
|
FDCvMDMJJpBJpBFJCMBDMtPbWbLVPGztWPVTtPmLWGhQ
|
||||||
|
DpgHggpwBJwzJMrFFvrCrHsffnRScNsdclSnnRnSNs
|
||||||
|
wTvfHSvSwssPGCLCPhgSCn
|
||||||
|
QNpMRqRJQMZlBBbRRRMfbZlBhPChghhlChGCtnthctjPhchh
|
||||||
|
rrrNBbMZqRbqDsFHTwfWTFFwrF
|
||||||
|
fVgfQhhgfTLHSLNZZHfZ
|
||||||
|
CDtsqrqlDtqDddsqjsstHrSlNLWLcSZScFWWcNBFcBcc
|
||||||
|
jrCJrHjDCMMDsJjJMstThppgwvGzVGQzhJvvng
|
||||||
|
DGlTlSzbSnzmwbmblTBBPgffpNjFHppZBH
|
||||||
|
WqQdWqqJdCrtvQtJLQjtdcBNfPsNZfHZZsHNNZHsBBHL
|
||||||
|
cCJcjdRvqrQhqvWMzlbDGVGbSMSnbR
|
||||||
|
BfQmpfpmsRCRPDSZVSjjSg
|
||||||
|
MhNJGMTMHGGTbnGMJrbJHTzzdPgSwSqqPjPdZddSqNSwPZDw
|
||||||
|
TWbWbhnHWBFBFBDD
|
||||||
|
FrlJbTcBTcrlTlqwZTwWdhWLChLtVhdfLhmwWC
|
||||||
|
pppSpzBGMMMjSSMSzMNzHRSDVWGWDWVCDtGdtdhLhftthd
|
||||||
|
RNNgpMPRNgzggFJcBPqFZJZrbc
|
||||||
|
SdvnnvvntnbDDqtz
|
||||||
|
wRpFRRspZhgZgFggFMgtczcGGDzQcGlGDMqcDG
|
||||||
|
CLLCFNZhsppRvvttBPCjStdT
|
||||||
|
JJDMhSwmMwBnnJPJmQcFtfQtfgQhQQfcgH
|
||||||
|
ZvCvTGqGVWTZZWptQggGtHfDgcpz
|
||||||
|
dsVCvDTZWWbZqqCZqVsqsqmNlPNnSJmbNNmlmMSnJLBl
|
||||||
|
MGnMBMBJFpBcNpdwRWRvRNdblmwW
|
||||||
|
LSgtPCChgjCPgSSzCSqWLLbrdWlmwmwmFvml
|
||||||
|
QhHPVSHghCtQFgCzgQhVnDGMGffnpcZMcMfJDf
|
||||||
|
QwrJqMLRLtBQRtWLJLvQLMrMgNNzPDngNHlHnbbbggHlgZNt
|
||||||
|
GdfThGcmShTGSfppmFfTHDNNblSZDbbzlBzZZHHg
|
||||||
|
TffmGBBFcCFFmTGFhBwjJQJMQWqWQCrrvQMR
|
||||||
|
mRbrjZzRLchHqqdLDllh
|
||||||
|
mCGCsJSggCmgSGShlhhDVVVwhqSltV
|
||||||
|
PsfsGNGJvGPfspvcmrTRBrjTZzvT
|
||||||
|
NRNqFFtqqFrDDQRcJJJNrWDswHwWwbDVTgTwLbVlVD
|
||||||
|
ZpdHHGPmgwTwldbw
|
||||||
|
HnnnMPMzChPmnpnmfFJCRqcJqJRRrrtSBc
|
||||||
|
LnNNLBmTNBNTwNZZjZmRMHJwMHvbWrvPMMWdcP
|
||||||
|
GtSFDFpzsGVvMJdJsrMbvr
|
||||||
|
SqQQGGtqqSVtDpGtplVDpVJClmnhnTZNjNfmnmBChCZL
|
||||||
|
CHltTDsjHNHHdpDRmqdPQpzd
|
||||||
|
fMMbbZwLJgMVVFmcRqRpzdqbRm
|
||||||
|
MJJWfnVhMzTNGlNTsh
|
||||||
|
WtWbtWvrrQGrbcSWHHfSHfgdWJ
|
||||||
|
zpnPhLPhPnTMMnzMzpMnDzLPjTVjccSgdmjdvSJdHSgdjScj
|
||||||
|
qqvMMCnDCCCzqqCzhPlLsRsGtrsNlRbZtBRtbrrQ
|
||||||
|
mPTmlGQnjNTPQQNljnlQnmmCtgRPhghqgqgzqLRPtMqqMzhq
|
||||||
|
pDsVSZcdVspbdBpcBHBcHhqLWzMbfhMMrMgMgzLRft
|
||||||
|
pFZpJJFSBFRllvlFNC
|
||||||
|
pbMVjJbwbbLqlZlstRhjstsN
|
||||||
|
FSTnfCBcnBSBvSmmCFCCRQhZBZNsRGlsQQNsqZlG
|
||||||
|
dvcdfFcqmfcmdMdJgwJJHMbH
|
||||||
|
QSRlWDhQQqDqlTCjTRCSljSmVsPmmGmzsgvppzPVVzdPSP
|
||||||
|
HHwtMNMZvfPGbdwdggwG
|
||||||
|
ZFcNMFFvHLMjlCWrqhqchh
|
||||||
|
jccDSGVVlRLVSVVScWZZwLvbphgwdpLwZv
|
||||||
|
BQHBtfQQHBfmMtmFznrHzmDwghWphvZZFpDhZvgvpZhh
|
||||||
|
DmQrPQnBtTnzrrfHrtfMrmTCGqPNjSPCRRGjRCRRqCNjVN
|
||||||
|
bRDbbtVgPFFbDfgVCtPcGsNNsHccqcGGWCNNzW
|
||||||
|
ZwlmJwwRSmlJdQRhqGNTqzGTwzqGhc
|
||||||
|
ZQdZjpljldrSMjmjdRLdmdbVvvtDVFFffvBFPVBgMnBg
|
||||||
|
rzwGrwPGppqzPMzrdqsssSsvgtQgTTTJsH
|
||||||
|
LCNNHLmHWvCJstsJss
|
||||||
|
cfVLLNBmZBVMVDHGwrhM
|
||||||
|
FCGFrJltMGdFdGtlFtCgFzQfQnZfVVVMDcQDVzVjfD
|
||||||
|
PSPSPZPRbPRsbBRbHBTPvfVzQcDQqWWnDjnnHDjzcz
|
||||||
|
RmSTPwSTRpvSlZglgZprZtNp
|
||||||
|
njtLGLbcNTbbLnLmNTtqnFzVPwJFFzPVFPwMVmfMmV
|
||||||
|
srpZlSpsSVqgSPJJ
|
||||||
|
HZsHsrZhrBQpqQvpdprnTnnHTbGLbHnjHGbjbT
|
||||||
|
vFFnJjvnVSjgCqSCDZ
|
||||||
|
lswrrcsQrHTHwdrDdhmqqsRhzmggghgsGC
|
||||||
|
QPrWQWcDNDHdddNrQPfDMLMLtvvMbnBpPFvpFFvL
|
||||||
|
LgltlRMtcccgMdlzqTVwwrdsqm
|
||||||
|
FpvfSDNzSpnvGSnNpmsmVqVVrHwvTqVmmw
|
||||||
|
pGjDFFDpffnWQbnzjLJhhLchPPJMPBLt
|
||||||
|
lJqBqPvtvVPnttnJjJBjVMzMrFhdQrQFbGbQnrbzGG
|
||||||
|
msRgTgmTLLmsTDRfQRllMdGzdRbMHQFF
|
||||||
|
msfDWglWTpSLCgTpSCDsfPjvjtwVjJZqqSSvPVZSqB
|
||||||
|
VZZWGZGlZZZMZrGMlQBQGWltFzqvzzcVcgzvmgzddccgvqFc
|
||||||
|
rLjNrDRLDRLTqdCqFCNzFgqg
|
||||||
|
TJSSbHfDDfSnbpHpJnGhWPtrZWnPhBwWPWBt
|
||||||
|
ssvsDDjNwhjNhGGgDDRZllltLCLvCWbMffLCfWzb
|
||||||
|
qVRmJFSQqqVcqSMWMWLMlllbtbVM
|
||||||
|
PqQBPcFJFcmdrJPJrFrQpsNjnTGgwTwGssRNRnRBsG
|
||||||
|
sHsJJfSsrpBLHCLJmdqgdZgRNZQlgRNC
|
||||||
|
VtnFbhFhwjwVPPjhbccQDQqgRlWDQmdWZZDd
|
||||||
|
hFhFvbhGwzvFbtbPnttGbtjsLBfspSrMvJLrpJTrMsLZrH
|
||||||
|
nzJDJvvZznnqnZrpTgTpzzTNjlmtsglBjjttQQCgCCtlBj
|
||||||
|
SRLRfdVfSVcfHdVVdSLdMHQjPtClsmcwNQltjwjCQQwm
|
||||||
|
RShVLWWfWWGvsTZz
|
||||||
|
vcdptvndNzrndjctrvcnvtTdbwwRTgwbHDFDTWgqWlWqwqbl
|
||||||
|
ffVBmQPhshhfPmSfBPfChmmCWFWbDWFbWwwqRDbsgwWMbWFb
|
||||||
|
SJJCBLZBhfvnJnpGtvRc
|
||||||
|
HLMMHHpNqWHqFqppPWnshtsLhBnVDtthLLms
|
||||||
|
JgmSRgCRGbgwGSbgJJjRRDntztrVhnsDrllllwhhzt
|
||||||
|
bRRCCjgRvJQQdcdjjvRcQdgbZPZpqfqpHHMfNFqNTPWqQWmq
|
||||||
|
PPwQTlFrLqrLQrPfPJrHtcjtSvdCNNctLCjNdc
|
||||||
|
DGZMhmVRMGqVmVDnGMbBZhsjHNvjdstddjdjccSBSjds
|
||||||
|
mqzVnWDmmGzRhqRbbWQQFwPQQTlzPFpTlPJJ
|
||||||
|
RMmnMrZMlQQpGrQt
|
||||||
|
gPPgcDBcjdgjBCBcQtNDNzzthltGphhz
|
||||||
|
FSvPSSjFWFScSWdjWvbTwWJQZQVRsMTQVwTmVR
|
||||||
|
PwlbMTDQDvMwttThPthhvhvvZzNLzNZjQCNNLWLCRZWQRzNW
|
||||||
|
VpJHFpgfqdFqqHFGHVSdGmZZRnSsnLjNZCWmmszLSz
|
||||||
|
drrJRGJVrcMBDwhDbcMh
|
||||||
|
hghHTgbwHbDqHrgbbbSLzzFNnsVqNVBnLnfs
|
||||||
|
jMlcMRRmGcRlZQMMJRJSPPmCFzBBzpfBfLfpFLszLNNFVCfz
|
||||||
|
JlmGlZmvRMgvrgbrrSTw
|
||||||
|
ZtTTHpprHtQtHtpqPmjVSScjVSjjSNqw
|
||||||
|
nRvGWhRbnRGzvWCBGPjNdwcSwcnlJdmmSj
|
||||||
|
vCbsmbWfRsRWWzsMWBQFFrDZpgpFHLgQLMgQ
|
||||||
|
QlJBfZssjgZsQsDNbScdDZdNcvvF
|
||||||
|
zrGrVVpVMWMwMVLMwqVWpRdNFSDcFNDFbSddqHldDdqd
|
||||||
|
VLVtrWpMRCRLWGWMRwVGCVPfCPJnBTQsJlmjsfsPBQjC
|
||||||
|
GQqpnnFWFcnWpBMhhSZRhQCCCfRQRD
|
||||||
|
HsbcczlrjzflffLVfDlt
|
||||||
|
jssvwsHPsjzWdMcgBnvqMB
|
||||||
|
JMJdMptTbbtpJZhtTMZwJdNWQBPNBlwNBNQWHBCHHPlg
|
||||||
|
rVqsvVmjrcCqCPsPNQgnsnQglW
|
||||||
|
rVvzfqvLjFVDVcLjCqLmJFGbpJpRJTGMtbRpdGRG
|
||||||
|
LrmwdZHlSlcVlSrrDWCzbtpjpgzjtD
|
||||||
|
gBGgPTTBqPQTqnnPJhMTTCzzppnCvptpnCtzNpDntz
|
||||||
|
qQPTTPshRRQqcgsflHZcsSLV
|
||||||
|
smvdTvlPzslmVjMhJlbjrblJ
|
||||||
|
cqFffFffcwFfpcDSjcnZwZWrQVDrQBhNbrrNBbWVbNhr
|
||||||
|
nSpRZRjpcHqpCpqnqFRGmvPLtLGmCdCsGLLdtC
|
||||||
|
PJPLPPHDdPvdnbctfcpt
|
||||||
|
NRrGNjNzLjltppvpRSRS
|
||||||
|
LzVWLjTWGLQqBgZWJWBBFg
|
||||||
|
znzccGnswWrWNCpvvdTCzddC
|
||||||
|
RfZlRDDDZflSBMhhhPSMMZpmpHHGNCGTmCJTmvmCvJGR
|
||||||
|
GbBMhhbSMhMffDMZPggSGfhVWLwjsLttWtrjWscVLWnQWswn
|
||||||
|
jwRzdZZhwhwHSQqpStJHhp
|
||||||
|
GVGPBvNPvffpvtvp
|
||||||
|
nsGGDVtFNGgGWjWlTwrwTmjwTR
|
||||||
|
MQtmmMMmnHGGTmhw
|
||||||
|
llqvqvvpqdvvrSfrpSfdfnhFSTMNDHFMNFFSGFwMHT
|
||||||
|
JqvvRgpCfrzCpqqzdfRpRllWZZBQJbVVtMttsVWJbjPbcc
|
||||||
|
zgqBczqBbBGjdHVgdDFd
|
||||||
|
lNVhNNnLtZZZGWjdWrSW
|
||||||
|
PCQhNflCtCwtJwhClMmVcRmpbPqTcmBqpm
|
||||||
|
wWbqbTwVrQLqlMtrZtZffNfMfP
|
||||||
|
vhjqqRpRvZsfssZN
|
||||||
|
ccBjJBqGpRhDGbJldHlgLwddLd
|
||||||
|
hVScjtgcchVhSgZJSchVwLbNLWnLNwwnwrbWNLgr
|
||||||
|
BzMdBqzBQzZQPpfrsrbrNdNLsrRR
|
||||||
|
zPMzmmGpmzGlFQPPmlZPzSVTSVJJcSlcDhTlvSCtjJ
|
||||||
|
hzdwlqngZQvDfmzF
|
||||||
|
vcRrcsVNpVQsFfBfPPQB
|
||||||
|
HCHVWVcCpNMHWRjLwhvhggdjvggM
|
||||||
|
LBHCTPzHHBcClwppwjjNNl
|
||||||
|
JddZMRmmssVmvDvJddSJWVWBwpQvwfpwvwwfrrFNQfwjpl
|
||||||
|
BsVMVZDVZssZhMhJqLzhzzHzPTPnLGqb
|
||||||
|
bcnNQnBTvvvWTQTJhdHJzhSjpJJjStjd
|
||||||
|
mMwqwVMMRwhBtjdSVBVl
|
||||||
|
GfsrwCRmZBcZTvBf
|
||||||
|
bBjQmmmqWdLqvLbWLtNJccNZZgCBCZgCTg
|
||||||
|
phfpfzpHPDwfMwvVzlhlJJlggcZgZcRFFlCgZg
|
||||||
|
zfhpMMDpVVzzhHhzzMMwfnMfSmQmbQvvWqWjmLSqdQmrqjjn
|
||||||
|
ZzdcbGTwLZwPPwpMPWpjWPpWChBC
|
||||||
|
nmznNRFHQrqQvqqmmMfWWWpMFjspWFMWjB
|
||||||
|
zqRDSmDrmvnvntGccGdcTVtLTlVG
|
||||||
|
nfnVscTcDzsZqmRtjtsqjJ
|
||||||
|
wnnhWPWLBNwPLHdQdWdHPHLdJjqRRqrvjrmqFtvRqtQRqFjm
|
||||||
|
bWhHdBBLdLnShWHcTVzCfCpVDTblpT
|
||||||
|
WSjVFSVTSWvgvFwpgTTFsfdVclhNCfsHnHlHsCfV
|
||||||
|
zRqLqZqZZQcdNltfHzsd
|
||||||
|
ZqBqGLLRcjWWBvTT
|
||||||
|
wwBqgZfbgbZsvWmfJrtFrdDttqdFdLct
|
||||||
|
SNSSVTnnThnCSPPnzVztQJJQdLPtFcGLdFGDsD
|
||||||
|
lSlszRVsRjmmfjfRRf
|
||||||
|
NGzGWSLzMdQtcctbgWjt
|
||||||
|
vqTnfVVHBffnCmHgMtrrrHrgtcrt
|
||||||
|
vqCDVlFnnCnnBSzlspSzLSNMLL
|
||||||
|
rwVlfVMRSTqTgRhT
|
||||||
|
pppjLtpZjHFHNhsctSqDDVtnns
|
||||||
|
HNjJLFBFHZZzWbVBZGfwdGrMfCCfGvmzlM
|
||||||
|
zFzztqWnJttqqzJtdqbtqbPVMGcGZwgPGVwGQjwCCggMZQ
|
||||||
|
hssLlrsSrBmBrZGSfgwgSwQCcj
|
||||||
|
BmBBDBHLrlNhLNHrpsDvLJNtddczdRzzcTqJzzdWnc
|
||||||
|
pLWcpGSscLQPDzLBgdbmdZHBHmZB
|
||||||
|
lntfCfVMvtttqVqnZHHbbBZmwwwCdHhc
|
||||||
|
qqRJFfRFRNlTzSSWWzSJpc
|
||||||
|
DrphDfFrdGGjTTgTgCSV
|
||||||
|
vbsMZPnPvqHMQvtZZPWBBVVBJjWSVTPjJC
|
||||||
|
nMbnsRSQvvLRMsssQhdFrcwczLlDrrDzhz
|
||||||
|
LLlDQlcLDqLSlCDRlRDCqTTzzgNzShSBdZGBFBBgNG
|
||||||
|
nHnMwPPbrWwpmztdMtzFZZFtTN
|
||||||
|
PJfbZmHrpJfZDRLlDlLcVsVJ
|
||||||
|
wZwQsrrzQFQSrRSFbzDglcdCcdljjdlljcvslLhv
|
||||||
|
VPqGJtqqfnJcCLFllFMGcd
|
||||||
|
fNHPJWpmHfffqJHmwzgbrBDZrDbFRQ
|
||||||
|
HggtSJtzrgltshlTsrzbzsgbFddfffDZwZRZZZGfGDRTNNZZ
|
||||||
|
LnjWccmQBPWqmWPqMfFNdGBRCDFFSfDfRd
|
||||||
|
WpMjWpMcWSjqqPjQLmvmjMgllsbgbtvsrrtvJgJHhrHl
|
||||||
|
PMcMcBpztMztzPPhbSgGSvgfHD
|
||||||
|
nsmsVQVZVQmTRmddrLgfFhfLgLDzgvffDhbF
|
||||||
|
dwsjrQQrVwTmZRTzsTdBcjqlqWpcCCppcllltC
|
||||||
|
DbVjbjwNMDTCVbhbTNDrVTTmzFGLFLHcLHzmcWFczLHwmH
|
||||||
|
PPWsfBZngtZqZZnPgZnPqvmFmczgRHGmGSRRSSLGFF
|
||||||
|
sntBlWPdnspnnPQZtnNNNMjhMNrVMjMThjpr
|
||||||
|
rCrCWVvvWDnBWvDnWDMCMZTpThhGGhGRGqGqZmhZqV
|
||||||
|
NNjQMzNzQjjwNmJNmZddpdTG
|
||||||
|
QwtwLPcjPtQlHSSslzwHSlPQDfDWsggsvvBvDvnvgngCnvFM
|
||||||
|
ZDCbvbDvvHbCGTWpZTtWWQnn
|
||||||
|
hLqzLVhVwNwVfMnJrfqMzWrQddgmQQGdgpgQGmgjTj
|
||||||
|
wlVNwJJfVRLPRnHRbFHRsP
|
||||||
|
lLmvLGRCrmDwVPVsjmtBBQmt
|
||||||
|
NSHWNbzSHWpSpfChqqJPnzBJsBPPJnQJ
|
||||||
|
pWcHbNfWpgZcWbhbZSgchWpRdCZMMdGDFFrLwlwMRRZFdd
|
||||||
|
PnNrFVZQHNDrmNQPflbhbfqbvhwbVfvq
|
||||||
|
TCdTtpCtCWTBMtjTJMWtBMCLSfvbqqzqbljflwDLvLjLLf
|
||||||
|
MCCGcpCJRWTTMGmPnDFNQQnDns
|
||||||
|
FhSmttZmgLjJVMlVGllGjcrj
|
||||||
|
NRNvNWNCdnNrBvWvwRdWvvvRCGcbVVQbMQGcGcVcMclzVVlG
|
||||||
|
qwBsBWwnvdtHJJSrtHsr
|
||||||
|
wnwPrnBBPgqRPjhgCRGCLvvbRZcJvCbb
|
||||||
|
dWVdVdlMHtsTslMtzztFGGczvvGJzL
|
||||||
|
fMflHpddJfNNVfNWWmDqQpwBgwnjPBQDjqBh
|
||||||
|
WttGctsNCNrfwTMlBtlr
|
||||||
|
HJLzLJJVnFjHbnbVjDHDdFqwwffTTfTGwrqwBBTT
|
||||||
|
jgVgJSbnHjNWsWCSWWGG
|
||||||
|
ssLfHLvrrfMMlBMRMfpd
|
||||||
|
qbbhmGCCVDQhQQVzDDbqmhMBtDZdBZHlddpltpBpdlJd
|
||||||
|
QhQbzqCGzVzSbqzLHjLgrcjvPSnnSL
|
||||||
|
NGGZGsGFCGvCcnCcgnZWrPHjsJjHjTDjJHfrjHDP
|
||||||
|
RzzQmwwmdRRwMqRQmZwtfrDPfTfrbjHqrDPTHr
|
||||||
|
MBLphmLpSzdRlnWZCNcGLgLG
|
||||||
|
LwPPHZLLWRMWMsHqTCjmTTjSTn
|
||||||
|
lFpNNpzplbfphzNcQzVcpvzsnqTsggmnjfgqCDsnCDqsgS
|
||||||
|
vFJJhQVhbcVddLtmWZJdmm
|
||||||
|
GwMNMGBMRMGjdSGsDntglDrDGQ
|
||||||
|
WTmPPzfmlQrsnQmg
|
||||||
|
ZPTJVvllhBwvLvwRwj
|
||||||
|
nlSvqqFqzfnbnvFwwsGHTBHgPfWsTrRPgG
|
||||||
|
dMdjphVhhgdLVJhNRBGPRWWBBGPTTGHV
|
||||||
|
thJgLpghLNLhNQMCtdMhSmFlQnzzwnbzlbqqSQFb
|
||||||
|
ZJJLBWhJBNwJwLvgRgGRgbZqbHTbGT
|
||||||
|
cCrfFFnzjmdrdrmmzsgSPSHSbHWPRgrgGR
|
||||||
|
dmCFntnFctjfdVtttjtDVncfBDlNJJppwQMwNBNvvplppWNh
|
||||||
|
GGNNNbNbqmsmTVbCDQQhDJQT
|
||||||
|
rgPvdgMdPdBddvMcrMnvgcSwhClTTJCwClDTvLJJthTlth
|
||||||
|
zBdWpnDBDmfFGRffzH
|
||||||
|
WNNNWcDcdVHNQTNT
|
||||||
|
lLvLctvrvvvPCpHLQQTZVQLTTHBV
|
||||||
|
zltgpbPCrrmtlmrlhhbqcWMqDDMDFMfbGScc
|
||||||
|
dzSHRCGZGdRQWQWtllWB
|
||||||
|
mNmbLbbmwjsmsNjDmcPvpVHBVPQvWDWBBpvB
|
||||||
|
jnmNNrLcnnjjHhSCdGMSfrfd
|
||||||
|
mgGvfvJSmSSrbvScmGccTPCqNnRjlpNNfNjqwqlpNpfw
|
||||||
|
zZLLQFFFtsFwWjjRqbbCsW
|
||||||
|
hBBLBdFHddVrGbVc
|
||||||
|
bJGchsCcHwbHfgvg
|
||||||
|
qdlSSNqLPqlPQZDffgfZRZMghvZr
|
||||||
|
PLtqtFTPNLlWlqtQqqQzBBmcnschGtjtnChmzC
|
||||||
|
llNLDLzjDtCTVtClCDMHSlmwdmmdSmddwZSS
|
||||||
|
gPJszvsBPbwSHZRQSJQJ
|
||||||
|
bgFssFPcWhDjCzLcnNDD
|
||||||
|
ZTGMwdhMwMJphZMJlNdVBCnncNPLBCCRPnCncn
|
||||||
|
fWsqmfSsqvfFFFvmWjfSSsPLCwVPRnPRCmRnRRCVzRCV
|
||||||
|
FQfQfvStwjtqsjvvQWFfWqWtlMDdGTJJGdMdhJtDMbllDZ
|
||||||
|
DzZLpBDptpVPrrrFPqRmBj
|
||||||
|
WsfCTTgMllCWJMlhslNsCFJrGqvmRPqmqZjGFjvmvm
|
||||||
|
HfghcNghHhgNNfbDDZdcdpndDzpt
|
||||||
|
RRBRdJfccVRdDJqdDrvwShwvztWJlWwSJn
|
||||||
|
mPtCHPPmHbmHNZjjjQHbMSgrSWhWzWnnQwvzzrlrll
|
||||||
|
tpFmjpmjFMCmppmVTVLFVfBqTqVDLd
|
||||||
|
jtljZcTcVVtdggVmdczzzDPzvCsvRbDsDmvm
|
||||||
|
MHHnnJMFMNpwSNprpMJrfsbPRRbWDGLbHLDRvzzssR
|
||||||
|
rJFNvQfBSwQBwNwldZTqTtctQchthc
|
||||||
|
WsWTWsfjgTJGSnTz
|
||||||
|
RHNmvRLCpJclcNcvHpNcPBzgQgMnnGFnLFgPgnPF
|
||||||
|
mHlcdbbccZcCCCNZZNcCWtthWbWqwwJsbDfthfwW
|
||||||
|
vFFzppnHFrjmpljQhg
|
||||||
|
JPGfPWVdwfPgQzVQlTrQrZ
|
||||||
|
PwRJfGDBfCHMzRHNHMNR
|
6
2022/day-03/inputs/test.txt
Normal file
6
2022/day-03/inputs/test.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||||
|
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||||
|
PmmdzqPrVvPwwTWBwg
|
||||||
|
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||||
|
ttgJtRGJQctTZtZT
|
||||||
|
CrZsJsPPZsGzwwsLwLmpwMDw
|
21
2022/day-03/src/bin/part_one.rs
Normal file
21
2022/day-03/src/bin/part_one.rs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
use std::{collections::HashSet, env, io};
|
||||||
|
|
||||||
|
use aoc_2022_03::{item_priority, parse_file};
|
||||||
|
|
||||||
|
fn main() -> io::Result<()> {
|
||||||
|
let infile_path = env::args().nth(1).expect("input file");
|
||||||
|
|
||||||
|
let sum_of_items: u32 = parse_file(infile_path)?
|
||||||
|
.map(|line| {
|
||||||
|
let (left, right) = line.split_at(line.len() / 2);
|
||||||
|
let left: HashSet<_> = left.chars().collect();
|
||||||
|
let right: HashSet<_> = right.chars().collect();
|
||||||
|
left.intersection(&right)
|
||||||
|
.fold(0u32, |acc, &item| acc + item_priority(item))
|
||||||
|
})
|
||||||
|
.sum();
|
||||||
|
|
||||||
|
println!("{sum_of_items}");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
27
2022/day-03/src/bin/part_two.rs
Normal file
27
2022/day-03/src/bin/part_two.rs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
use std::{collections::HashSet, env, io};
|
||||||
|
|
||||||
|
use itertools::Itertools; // for easier chunking
|
||||||
|
|
||||||
|
use aoc_2022_03::{item_priority, parse_file};
|
||||||
|
|
||||||
|
fn main() -> io::Result<()> {
|
||||||
|
let infile_path = env::args().nth(1).expect("input file");
|
||||||
|
|
||||||
|
let items = parse_file(infile_path)?.chunks(3);
|
||||||
|
let item_sum: u32 = items
|
||||||
|
.into_iter()
|
||||||
|
.map(|chunk| {
|
||||||
|
let badge_set = chunk
|
||||||
|
.map(|line| line.chars().collect::<HashSet<_>>())
|
||||||
|
.reduce(|acc, item| acc.intersection(&item).copied().collect())
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let badge_item = badge_set.iter().nth(0).unwrap();
|
||||||
|
item_priority(*badge_item)
|
||||||
|
})
|
||||||
|
.sum();
|
||||||
|
|
||||||
|
println!("{item_sum}");
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
28
2022/day-03/src/lib.rs
Normal file
28
2022/day-03/src/lib.rs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
use std::{
|
||||||
|
fs::File,
|
||||||
|
io::{self, BufRead, BufReader},
|
||||||
|
path::Path,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn item_priority(item_id: char) -> u32 {
|
||||||
|
if item_id.is_ascii_lowercase() {
|
||||||
|
(item_id as u32) - 96
|
||||||
|
} else if item_id.is_ascii_uppercase() {
|
||||||
|
(item_id as u32) - 38
|
||||||
|
} else {
|
||||||
|
panic!("unsupported ascii");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn parse_file<P>(path: P) -> io::Result<impl Iterator<Item = String>>
|
||||||
|
where
|
||||||
|
P: AsRef<Path>,
|
||||||
|
{
|
||||||
|
let file = File::open(path)?;
|
||||||
|
let items = BufReader::new(file).lines().map(|line| {
|
||||||
|
let line = line.expect("got no line");
|
||||||
|
line
|
||||||
|
});
|
||||||
|
|
||||||
|
Ok(items)
|
||||||
|
}
|
@ -9,4 +9,4 @@
|
|||||||
- [2019](2019/README.md) (0% completed)
|
- [2019](2019/README.md) (0% completed)
|
||||||
- [2020](2020/README.md) (20% completed)
|
- [2020](2020/README.md) (20% completed)
|
||||||
- [2021](2021/README.md) (68% completed)
|
- [2021](2021/README.md) (68% completed)
|
||||||
- [2022](2022/README.md) (8% completed)
|
- [2022](2022/README.md) (12% completed)
|
||||||
|
Loading…
Reference in New Issue
Block a user