day 3
This commit is contained in:
18
Cargo.lock
generated
18
Cargo.lock
generated
@@ -5,3 +5,21 @@ version = 3
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "aoc2022"
|
name = "aoc2022"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"itertools",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "either"
|
||||||
|
version = "1.8.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "itertools"
|
||||||
|
version = "0.10.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
]
|
||||||
|
|||||||
@@ -6,3 +6,4 @@ edition = "2021"
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
itertools = "0.10.5"
|
||||||
|
|||||||
300
inputs/day3.txt
Normal file
300
inputs/day3.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
BzRmmzZHzVBzgVQmZLPtqqffPqWqJmPLlL
|
||||||
|
hpvvTDcrCjhpcrvcGGhfLHMlLtMCqflNlWPJlJ
|
||||||
|
hGjhncHhGnhbTHczBBZVVSbRwgSgRV
|
||||||
|
rWVQjPQQjGRWNSrWrPjcptwBpqqJBtJBBcZgMdtq
|
||||||
|
zzmmpzfTCFpTlMlJJwBgMlqMBt
|
||||||
|
TvLszpbhhTLmsnRQPDQGWDWRvQSR
|
||||||
|
zGzvLlGlQHLGBQZlhBWhdjRdmdWRcjPj
|
||||||
|
fTJNfTfNSRWPhjdjfj
|
||||||
|
pbsbVVnpSnbVTprnbqqrzvLLgQlGLPLHll
|
||||||
|
ZCCCsWvNvmsCsCmZLZmgMLRpQMhwQRpQRfphfprpTfpM
|
||||||
|
tlncPjzlndctbzcPPBcjwDphwrfGGDffbDRpDTGG
|
||||||
|
cdqnddwzqjNVWVLZZLZq
|
||||||
|
DTLbDbRrlQbwhhNrmmfwdt
|
||||||
|
zzMJMzjCjJJjvLjMPJpcgPpzfhHdfqWcqddwtwfqdttcNtdN
|
||||||
|
pJCzVpCvDZBLsVRQ
|
||||||
|
STzBBbJzRRBZBRTqCCsfZLtNNLClCsfh
|
||||||
|
jsQnnQjjHcvQFrcPwCmtLCNlvDfftfff
|
||||||
|
sGFscMQQMMpqzqbMbd
|
||||||
|
QlNDWGsjQjgQllWQsbtzqTJczTJcbFmmFJJP
|
||||||
|
MhLrhgLVndRmzJFzVqqJqP
|
||||||
|
pSLnMdwhwdRZRSwhLZwLhdGWQjlsgWjNQWWSvgBsWDlj
|
||||||
|
THjSRFSddTjdBTcPLcVVvVBw
|
||||||
|
GzWnWfndWfznDfsnsBsPVwVwPPLL
|
||||||
|
zNflzJWqqzQDdSStHNZNpFFtbj
|
||||||
|
FSzDmsFSFlDlBzqVjqHHjHHpVgHLbp
|
||||||
|
rTrTtTQQntRQnQJQgggHZttVgHLBLhZL
|
||||||
|
WTJJRRQCRRJTRdBCRdvRNDFSWFMPmDlPPSsNPSzS
|
||||||
|
WQldlMtMVQgVMQHnDGbHGGnRnQmD
|
||||||
|
rqcZPrCFjmHlbGjZ
|
||||||
|
zSScchqwchBzTzFzhhSlcCwNtdVWWJgsVdMtWNgNVWTJTd
|
||||||
|
lMZqjMWllrTTspjprWWSSwgWNSVNDmWGVwFwgN
|
||||||
|
cdCCdLHcnndHJnmCRntLBnRzDvFNtNDVzgSgwDgFNVzFVv
|
||||||
|
BRLcCCJCmJdcRhfjPPZphrlrPqlZ
|
||||||
|
GdGqcrrZGDrvDJJqJHcBvmFFgmFMMgMgBtMLTssLmF
|
||||||
|
NbPVPDlljPmTmsTj
|
||||||
|
VfQDhflCCRWdcrQwJvvnJv
|
||||||
|
RLcWgLCqqPQLcqZwzHgwmmrmmtgwTw
|
||||||
|
DhbhNrMpnJSDJwVTHmmTVnTTVj
|
||||||
|
lrsvblMDlcWcfQPQ
|
||||||
|
PVldlphHwGwJJGdjZZWsRbbsGsNWrWQbNbQR
|
||||||
|
SqcDvTmDLtfmSmtqppfqzTgTQBrRQsbCFWbNNFQFBBrRbLNb
|
||||||
|
MgtmTgtfpqVlnVddZMwV
|
||||||
|
BdmfmPBPSbSNdGSdvWrwcZrccZPPcZnH
|
||||||
|
jzzLsjsMRlQQVHwswvvZrCHrrT
|
||||||
|
VqhzVFzplFlpLwpMphLRQQVRmSqgbdGtNJBmNSmgGbtggSgt
|
||||||
|
DHVpNZjdZjFZWVFHpvFvzmlRzPnlfznFRz
|
||||||
|
lrTBTsBwwMbrrwLPPfwGmGzvRf
|
||||||
|
scrtMhMCtJBBBclbHdHttWZWDSqDSjHj
|
||||||
|
wzqsPmqsbsfqBwPMNRMMZcZmFFNtZM
|
||||||
|
CgCnhlvvLJgcRFNNBdCpWM
|
||||||
|
QnQrVgHSvVHjbjTGBbbTHb
|
||||||
|
HdrVrdqFDdZVmHgRmDRFHMnTdTssMGnLnPJLbPTbCs
|
||||||
|
SczlScjwcNzplNzQSSfjwQSrTGGsbTsnTCnGTMCMLMGGbN
|
||||||
|
wQlfjrhfhQFHqZhRZRtD
|
||||||
|
RsfJDGJvzPNcjpddSWJWMd
|
||||||
|
LLCbBCwCrCmVVnrmhQFmbVhdcdlWpjZzSpMdWSpcWczSBj
|
||||||
|
rrLCbTwnHTvzvNGT
|
||||||
|
wPhPhbCqqSCrtJDlqvlrJr
|
||||||
|
RVVZddLFRZZcQLvJJtzptlgPJp
|
||||||
|
TVQRZGVncFdTGWZdCNShHhfPNwwsWPwb
|
||||||
|
dzLVzPSgrgDDDCMSMLLPwFmdTTcsvmwNwjNsHcFF
|
||||||
|
nWBGntQfGNGBflWBBqlpRQGbWFvjwsbsFswbvTHjjbmHTc
|
||||||
|
tBNJBnGBflQnDPJrPhDgrPVg
|
||||||
|
VtWztWtqpqzWpWzqjNRjNpWTmrrmrSbnmJwSJwnMPrCSJVwM
|
||||||
|
sDHsBDhBdsBZGcHvLHDLhhCSnRSwCJMZrPbmnMbJSCSR
|
||||||
|
ccLRhgsLBdRsdHNTFFNNgqTglqzF
|
||||||
|
hztlmDhPhgPlPNNgmZMCbmwwQjcwjjwMjVCd
|
||||||
|
RSJRrRqnqQJFqvnTGrHCcHHCCHHbHHMcMvdM
|
||||||
|
qGJsnQTRsStsftPlhPNl
|
||||||
|
BFFBLPRCwsLwhlPlRmhcGGrbmmGjfNTTnp
|
||||||
|
VJMVpzgqggJnrjmjNcMjmT
|
||||||
|
VqdSZtQgZvtdzqHqHtVZdVQpCDWWFdwlRPDpWPPBCswlWD
|
||||||
|
fCWCsjPzcbzwRSzVTzhhDLqvdg
|
||||||
|
TmJtrNJrBLSLJqgS
|
||||||
|
ptNTQFHrZlnpFPwsWMbRjCpcjR
|
||||||
|
nJmQNCmbmlllmbClbfMLjMFqbGBsdLFq
|
||||||
|
ZcgTWcTnMqqMTBqF
|
||||||
|
tPgctSnPctZZgDWzZgQHwNmHlhlmzlQhlJlw
|
||||||
|
ZpTCwpffdslvgShCBhqhRz
|
||||||
|
FDMPnNFNmBPzvRPRBg
|
||||||
|
nNgMrnnDGjDmJMmnFdZTTsdsrZrslcwcQr
|
||||||
|
pTmczpCldcdDDnPttpvWSqbpJf
|
||||||
|
jgjRZMGHhGLgQrjvPWzPJgJvzStbbq
|
||||||
|
LGNLLNBBzcDFCBwwFC
|
||||||
|
nJTTqnrNvTzNMzzNfqrTPrJnwpwPpZpsHccZVsBRpcVHwpcp
|
||||||
|
bgDhgbghLWmFmStctVpZtBCVCCpfZp
|
||||||
|
LLSgLGSjggFGbSSbmMnrvqvzjfzTNrJrqM
|
||||||
|
RRpDmmPMTjwfGmJQgQ
|
||||||
|
WsNscdnvvdVZFVnnrZbjjflwljlbzfGFjQjq
|
||||||
|
NnLZsNnrrVVVcvdBLTPCPCRMwhPMBMPhCt
|
||||||
|
lbVvzngGJnVbJHpHtHNPpdSQvc
|
||||||
|
TsMBswFZsWMWBZMNwPtNNtRNHcNpSQ
|
||||||
|
CcZCTrZDsjZTsTsshWhrWrTnfgbLDfJzVVLVVlgfnzfVGV
|
||||||
|
JzTTRtJRZWmWjrMHCT
|
||||||
|
DDFGlLGcGlSSSLsFGBspPBmNMBHMghmWNmWjWCmWtH
|
||||||
|
nSSpnbsGlLDnpPsSSspFtVvffRQdVzqvvbqdfVQwRz
|
||||||
|
sMhzszlHHDsWbthHDqsbJjpLNtmjVJmVLLVLVLBp
|
||||||
|
nrTPrGwfPLdprzJzdL
|
||||||
|
wgPQcTGGzgccwCgnRwgRChFhlWSDqWWQMWhssSsMQl
|
||||||
|
NSNmwtpSpCpvMphCsr
|
||||||
|
PHcRGPLJMrsvzsqG
|
||||||
|
QHjbnRMcfbPbQZmlZgZlgBBQ
|
||||||
|
cPRPbhQjbQRdtPQdLqLHqzFZjCFCqLjC
|
||||||
|
mmfsnnwrfvwrfSNZFzHHLDCFNlLlqDlN
|
||||||
|
wsmrwswwGTffMrBnmQttJtcMZQQtPJPbZc
|
||||||
|
MvBPDDRRdnnvHPCHZLHZsFLL
|
||||||
|
rmJcbVqbcjWwWjQHLzTZFTHSzFrpsz
|
||||||
|
cmwllVqqGJbVVVmmqbQcmgRnRvGhGfgDRDZBBBvRdd
|
||||||
|
nMvMhMnvhnbTZWSSZgHmGJDFmmNDzBmbNmdGBN
|
||||||
|
rCsPLRCssRjrLLsrLlwRVrcNJQfDQfdBmmfNBGJNzmDPfB
|
||||||
|
CRjCpLltgtJgJJWq
|
||||||
|
jshCzJpjzTPpmCWvSlpfwHfSWglf
|
||||||
|
LQMMNMnHtDtLVRvwwgRWlldgWD
|
||||||
|
qHVrQNHVMFQtrrBBQMBcrrZsZbzCZhbbJZJsmmsmFPTC
|
||||||
|
JZQZnsQNMqTngZqJBVfBfPPVBNrwvfPw
|
||||||
|
SSmDstFjpDpCszDjcLLhrPVlGlrGGVBwrvwVPt
|
||||||
|
FSssFcLjFjbmFFCzjLcFLRDnMJnTHRnZZTdWqZZWnMnRnZ
|
||||||
|
GbHRHpldwGMpWhHpCMBlCbRdVSLhnqJLSrDPLPPLPDqVDrhh
|
||||||
|
gvjWWQvgZFtQFFNqLnVnDnSJzzztDD
|
||||||
|
ZccccfTsffHdWWdRWwsw
|
||||||
|
ClCtbHMlnnPPlszV
|
||||||
|
gSDWSLgWQWQJJNWqgtQjPsnfcdVcLVdVdzfzVzff
|
||||||
|
WQgqtFQgDgQSFqJhqhSJvNDRrZMZHwHMCbZhTpZbGHMTMG
|
||||||
|
pZJZlCQtHFhPfdNfCh
|
||||||
|
zcmLSVczwcMcLDNFHdLPhPWH
|
||||||
|
szvVVnBmnTGQtHTQ
|
||||||
|
RVVCNDlNGzlGZqHGHWqWhGqQwH
|
||||||
|
ZFLFTmpLvvmSqsbb
|
||||||
|
TrfpBfJpJMlnnNfNZD
|
||||||
|
qHHlDClHhltMqQsHDhHslGznwdTnzzwDGSdfnwGnwG
|
||||||
|
mZRNcNcLLPNPBFFbbPmLmbZFSCVfJJTVndVfSwnRzznfTwCS
|
||||||
|
CcCWFbbBLCWtgWgHjghqvv
|
||||||
|
TjbzlnlFmfqCFFVVCRWr
|
||||||
|
PhMcLpPDtMLpwPDvLPJbMhSgVCGqggVqQgCqCgCgSWvv
|
||||||
|
btbZbNZhJDJJhDtwtsTTTmBzzBBmlNlmHj
|
||||||
|
FqhjWtqlqmmsnFPTCvMCQMTTCjQd
|
||||||
|
pfffRfLpgrgGgzrNVzzpGVzRCdMCPJbwwcVMbQPCJVMVdbww
|
||||||
|
DGGDZRGrHggzSsFQnnWShmtH
|
||||||
|
vtHVVMMrvVMVrSHvLgvlHcZFCnRCZcccZtRRZfJFCJ
|
||||||
|
rdDjGsdTQDcNZfdncCRR
|
||||||
|
rBDsTwBbjbmbbQswswPhqVmmSvpVhlvvqMhHhh
|
||||||
|
vGBLrqMNvqSLBvvrNbllLHfwStWWtFttccjtRtjtcj
|
||||||
|
MhCDJmhMDzmcRRcjzWfztH
|
||||||
|
ZQDmDhVVCQbBVdVNMvvv
|
||||||
|
ptCtCzhWPWptnhVzzpGZbZTjTjVjFGjVFgVl
|
||||||
|
fQswRRffmRqZlgrqqFjjSgGg
|
||||||
|
HwsQDNNsDsmRLLHmffsfvHptBnhtzCvhWpZWBdhnMdCh
|
||||||
|
RlHzzTqczBPfbnvcpB
|
||||||
|
wVtNwpSZstppwwMsZhsdnLvnbtBBmbnLFFdnmF
|
||||||
|
WNQJMVWsZWwGJWhhSNrQzlgHrDCgQRHpCHrl
|
||||||
|
RrZWpJZRrZpdTGstlchLGGlLMd
|
||||||
|
NqjDPCQPnQCSvtMzSLhhjM
|
||||||
|
nQVQDDDDfwBwNCVCNVFNpWpgJgrRTmLTmTmgRTWF
|
||||||
|
SHMcrMHpcjGcjSrMMbvSvvSvwFTLJwJNtFGFWJNtDLFTLfWN
|
||||||
|
zqRnPfzQCRzqsmRPzznhszzLtLwQwwFTgWWLDLgWFTwTNQ
|
||||||
|
qVPZmRZhsCZPhZlRCqRRRCbfpccMBjvMVjdHjjMjSvdf
|
||||||
|
VVQdHwBZLVltlddtBczhrzvGcWWFRwgsFG
|
||||||
|
TDTTTqqTSSqjqnmTmPqPPmTmGhRszvsrzsjRsccgzrRzgWGF
|
||||||
|
DpJPqpWqHbZpllpt
|
||||||
|
cCSCFsnnZFnscDtNdJFJtJtdmb
|
||||||
|
VgBqBsqRrHtNdzmNrt
|
||||||
|
BGLLVVjRBsqPBfsGwPsMfSSZCSfTZTZQpSphfS
|
||||||
|
plCHCHlgglHHGpNbtngNrDvBDpfQDBQfZDfWZVrr
|
||||||
|
mTmMLhRfwhsLPQvQZDMZQBQWMB
|
||||||
|
cwsssmqRTFFfFgtbCtGl
|
||||||
|
LQPPrCPnMZwqtRMn
|
||||||
|
cWTSlJWlcplJdDTdGdpDlGcGgqmtwwZtqRrNRRmRdNZqmgNq
|
||||||
|
GSJcJSjsjTpsvWGWBHLLvVVBBBrFrzVz
|
||||||
|
NVPCSPMNDSNFVSWCsJJJmpGmZZGLLcpZLHGGtsHt
|
||||||
|
fwzlBBqghqvzqqlDrHbpHjZHmGZbLZrHLb
|
||||||
|
dnBgnDqQvwRnSnnFMFMP
|
||||||
|
BCbPsFFwCRHmDSBmWnvDDj
|
||||||
|
phhZVzdpVfQZphhZpRhSVnjmrcvvnrWtDrvWDS
|
||||||
|
TfQJMfLphMhJdfdzpQJRTPbwHHNlgbGwsTGgCP
|
||||||
|
ttWLlnnvnNnBBtlTqWlpvpndQdZsQQFssFDdsRFdVdRNFQ
|
||||||
|
jSgrScrbGZSGrrCGsFVMssFsPPFcDDMV
|
||||||
|
bzSmJbfCZCbzLwllflwqtvvw
|
||||||
|
zmFTJwFLPmzLztmjDzTJwfNrdFNrFppBSNRGNGdbrpBR
|
||||||
|
gqlhWQgsZMsvqMlMMvsvqsNlLbcdppbrRpdbbcSrrbbr
|
||||||
|
vssCgVgCsggZQZCgsnsqWgWvfJPDLwffwTPPmzTnjTPmPmwJ
|
||||||
|
SpcRTPQLBLWpNNzjmmwwwRrR
|
||||||
|
tGlfvGhfnbDlbqlChnfFMrwsmwNssTMHMHjFwv
|
||||||
|
ZlhtCtffCdWcZWZVVT
|
||||||
|
jTTCcWHWJNgCGTzTmnzrmnGn
|
||||||
|
BwRRbFvtvvQmJJFMpMJr
|
||||||
|
ZBBwLvqbBZsRsbVsZSqbcZdJjHHjhfPCJfJfHhgc
|
||||||
|
VrnDSvvrLrfTdTLGfdRp
|
||||||
|
zcJzmcFcHGfdGmWTVd
|
||||||
|
tHsMhwPVctccHFHFcbSDbbPjnNbBnbvBQB
|
||||||
|
QttWQwLTnLnWTtnffnLQSBFVjNvBjBFNgMdCsVWsjv
|
||||||
|
pDqcmmRPHqgVBddjvN
|
||||||
|
DcclzbcbPbJLnNTfnw
|
||||||
|
plRcpsZDGlGZvWvMCNcLtttq
|
||||||
|
SrfrwSjSVrSjwbmSrHzmHJCQQPQzqttNNQJMzJtqMW
|
||||||
|
wSHVnfHfWwwHWFVfSnfgmmRsslFZZDBBGZsZsDTdGRTp
|
||||||
|
qSFQSgQNgQBrBHHcrW
|
||||||
|
VTmjVJLTwlTmwTVmsMJMVlJmPvcbvvbCBbGBPjGvBbBGWcbb
|
||||||
|
DnJTZwmnZRhnpqNdWt
|
||||||
|
dTVHjZLLZDVCfVHtLDDjQbscjWbSJMJPjsbWWb
|
||||||
|
FnqrnmzzFllmsWwtsFtQMMFc
|
||||||
|
lmqzzzngGmlNNBqGllzlBNRvptHHpTCHpDLpgDZdgvHvDD
|
||||||
|
sdRZQbCfZTSTdlfTZCffccWPHPPcPPwLwctRnLWn
|
||||||
|
BBJDzFVgCDrCJrqDJJhqJVVMLPHwcctFwcWHHGLcwGwGHnWc
|
||||||
|
ghpJgqqjCZbQdZpd
|
||||||
|
tbcpzbHSszcHBgqHGZgJJJhhww
|
||||||
|
jfvdvRTffQQrrFCRFTnGwJRqNRZVpJGZLZggLh
|
||||||
|
nQTjTnMndlTdQFMvnrClCnpzmzDtbbmBbcPSzzlmmtzP
|
||||||
|
BqBqTCSTcqHsJHHM
|
||||||
|
WWPGVPLtzVgWtjWPGzVjzVGcbDhPsRbDcsbJwNRswRDRss
|
||||||
|
VQfWjfLFGWLjdFfVzTZZpJTpnmlTrSQlBl
|
||||||
|
jLNsZjqSHCsGdsmpsm
|
||||||
|
MvnVFzWMwMVWzfnVDwfBMfnnrCtdtPmPlRrdrJCJrtPDrrPD
|
||||||
|
zznfFWwMfMfFMwVTMQFnQjhjgjSZhCNbLSTcHHgbbC
|
||||||
|
GGtssttVmvnnGNMQrrVzgwVrCWMz
|
||||||
|
FdhfhhcCDhHLfzclZMcrwcQMZM
|
||||||
|
HHqqCBhHSSpdmjGqmGjtjtjj
|
||||||
|
bbQLtGMQQtQRQtrDtGprrrbCqwplZhhqSqmdwvdzqqqhSmpS
|
||||||
|
FsJjJBfnsJcFcFfjVPjWBzldqhqnlZZZzzhmnSvSnm
|
||||||
|
JPcFfFWjFHJVVsVjPVscsDlLNRHGDbLRMRCDNrCGbG
|
||||||
|
JdMdlMRJnTwdvcjv
|
||||||
|
CDLHbNSzzLFgHvnTjrswBNBTNT
|
||||||
|
QgbvzSFQmZQPQQRW
|
||||||
|
NTBrNzrpjjjCwGbB
|
||||||
|
FRbQlcvFvcRQQlRsMlRRRZjwCqMwjmjwJZdLJmjCZC
|
||||||
|
cVPPQcvlWDNhrbPz
|
||||||
|
VdbVtbbZJdtJVVdDVZmTLqqTSQvNLjjDShhvSG
|
||||||
|
zplpnBnFpnrrlghGNpLNqHvqvjNj
|
||||||
|
cWncllnlPFWzcMwtWWtsVLVRmJWCds
|
||||||
|
ShLSTnZnTSttTSbLQdfSZTMwcDHwwcHnJvDHnlnlclMM
|
||||||
|
NmPMsssRrVwjDclHJwwR
|
||||||
|
gNNMWGzNmqGdtfZTbGGb
|
||||||
|
sWNNlRHnmJtmntJt
|
||||||
|
brbbBTbbFbCbqqGgBTrCfmQVVZfSSQQSVtJZSrVZ
|
||||||
|
bbFqvbDvvGGLGbCCtBGDLbLlcPNHhhccPNcdPPchlsdR
|
||||||
|
DCFvDvnCnNfMBmMMslDZML
|
||||||
|
SQQQJHwpSgJSJHQWSWHqJWWbmcBBBLLTsmhhTcZbMhmlshcb
|
||||||
|
RJRgpJHssgwSQHRqsQPGGjjtNCrrFvvnFjjPrP
|
||||||
|
mThmsgjzTPjMpcvtWP
|
||||||
|
GNNBVqVGNZbbNbNqqZQVNVNbWcpdtMCcpCtMWCdCPpQccmpp
|
||||||
|
VSmNrmmbBfZVlsrssrLTRhRhTn
|
||||||
|
TdmCvLDCpTRNTdFbbWnnSWCfhjbbzn
|
||||||
|
GrrMsPVGcQHBGMbhjjSgWfHHDbjb
|
||||||
|
BPBVqqrQPsQqwrrmmmJdRLDDqFRplT
|
||||||
|
fpDDJljDlCfDTjprjrfbddWthCSCtdPPQFhSSSWW
|
||||||
|
HsLZgMGbgBBsNzMvGbdVtVQzFRQSthhFPdtP
|
||||||
|
sMBmGBmbNvLHGMnrDppTcJmcjpqljf
|
||||||
|
ptSpSJQqpbNGGDDhcMWrlNHcZZWWls
|
||||||
|
zRLRRRjvvgjHMMsMpWpc
|
||||||
|
vmCPLCgwvwdnCzmvLbpTbVQqJJPbJPpTVq
|
||||||
|
TJCfhhJVFffrJJQQllNWcvWhwvWD
|
||||||
|
GPSGjjpLslBbpLpLqqqPDvdwvwvNzQWGzDDNdzGN
|
||||||
|
msbRjbpPqsRpHnlZrmJlnVHT
|
||||||
|
GGfFsCCTvGDsfTTrhsCMMzptZJMdpdgtrpdMcV
|
||||||
|
LBlwBHPSqjwwlVggHpnMZcVHMt
|
||||||
|
ZlZZlBbRPGGTGfmRsD
|
||||||
|
CtCjbVvzQQZTWVdd
|
||||||
|
MlSqWlmsmGBSHJHTDFHZ
|
||||||
|
pcqsmsplwsqclwRtRWgtRnPPvb
|
||||||
|
zCrzCrsdjrhGDCFqGDjRRPtpWfQQcpfQZcCZPp
|
||||||
|
VSVwVMgLHHLTwMDTMMVnbWPRZQRcRQPptWnpbZcb
|
||||||
|
MNBBBlSMvLVwTlVTFdNdhNhFsqsGDrzm
|
||||||
|
rBLWTwTThWwVVDTwHBsZZWppvpGtpptppmRvFFFMFMfL
|
||||||
|
qPPNCCbqcbcNqbqQjjJQqzjRpptmlpMGmMlJtftmtFHpMt
|
||||||
|
QnCgzzQbbQqPcPQnncbdQdnVTwDssZgrShBTVgZZsBSDHT
|
||||||
|
PFGJFqnfqmPgFJQPWdbLdpDRhbphWjDm
|
||||||
|
rclNHvcrzCNwrWRprjdMMMph
|
||||||
|
wsZHwZNvRRQsQqBV
|
||||||
|
LqlGCPlPLTCPqqQlpqLlWfBfWgcHNRJRfWNsncGH
|
||||||
|
VVtdwVtDDdVmhrdwSBmjbdzNHgfgJnNnsSnHsNffHgRsgR
|
||||||
|
wVzhbjmDbDrwjdbztFDDthMCvqPppZQBQLZQTqTvFTvZ
|
||||||
|
BnQnQFwRmRwmwdBSFDFnmSDVLCJTCTppVVmGLVTCLcgVpC
|
||||||
|
ZlWvhvZjNrbNvqjNhlfPfqjCGHrsspggTpVLpsJCpcJVgg
|
||||||
|
vPzNvqjWhqFzGSnRGMDG
|
||||||
|
wZnMZzzZZchDRtVsqtCtwV
|
||||||
|
WmWpWWmPPWrmrmBmWrTlTFPNVqVCRSDCQHcqVTtTqsSDSTSD
|
||||||
|
PrppdFlWWlfrWmpWFffrdcGjJJGggnnhZGdLLgGGndvz
|
||||||
|
FShHNmNhRhNJmBnQBQJrmP
|
||||||
|
VTgzDTjwfffwzDvwlcczzVSJbQlBQSWBWCnPJPbJWWbC
|
||||||
|
tzSVtzvSvGSRZqqFMNtpRR
|
||||||
|
hPZhGDZpnCGtDhznjmLmdJffdNzJ
|
||||||
|
glwsSrQwBvLdgLzdcj
|
||||||
|
QsRbHllzzlHwHlBszWlTBFbpDPMhbPDVGpGFpPtFPp
|
||||||
|
SRjStRDctgDSBzLvPvNrDhmPLr
|
||||||
|
QqTHGTPJmmHmhNmH
|
||||||
|
TGQZsTqFnQZCJTPsnJnZQMjVRBVtcVRSVRBlwccSCtBS
|
||||||
|
bbsNsvsvnNPTRRllbblLqhtQCqQSLCGGHSqHNC
|
||||||
|
wFpzFgqVzqVJWFDwqJDmSBBmHBHhShLQhCGSBCGH
|
||||||
|
MJVpFMqgwMqRRbZsMbZMrP
|
||||||
|
PPdDhvNDQdmgQPZmQVHHtHGGWVGbffWGvs
|
||||||
|
MMLCTRRLlLclTLRMRLCwMLHWVctbVVHWWWFfVjVGsFWW
|
||||||
|
MRSMMlpTJRqClBCRqBDnzqgQPnqgznZPZqbP
|
||||||
|
MrMNPNNpjvdprWtrpMsthqBfqlnfqcGhVBqFRcnqFG
|
||||||
|
QbDgSSQbgSDDmDVmlqSCRllRcFqnqfBl
|
||||||
|
QVJbVmwwDQbzVTgbppNJNMWNjNNPrdpM
|
||||||
|
WwJJNbtHfpLpVgZZPVFhZh
|
||||||
|
vmmqlDvRvRfqBSrlzmmMjRBhcVhQVZhVghCQQQQTcTrPTP
|
||||||
|
jSqMmqRzMDDjvqlBqsBMBmmwGNJwJnwLNfbGwddswnJtJH
|
||||||
|
RLgRmRggbvbzzPmmRNmzsQWFtSGNtwSNQnntFwnnCw
|
||||||
|
pDBrBHpHhlldphHBHhJVFSLnWWFJttCtQSttSS
|
||||||
|
hfHrpphHBppfTvmzgMmbLbgf
|
||||||
7
src/bin/day03_1.rs
Normal file
7
src/bin/day03_1.rs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
use aoc2022::day03::process_part_1;
|
||||||
|
use std::fs;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let file = fs::read_to_string("./inputs/day3.txt").unwrap();
|
||||||
|
println!("{}", process_part_1(&file));
|
||||||
|
}
|
||||||
7
src/bin/day03_2.rs
Normal file
7
src/bin/day03_2.rs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
use aoc2022::day03::process_part_2;
|
||||||
|
use std::fs;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let file = fs::read_to_string("./inputs/day3.txt").unwrap();
|
||||||
|
println!("{}", process_part_2(&file));
|
||||||
|
}
|
||||||
68
src/day03.rs
Normal file
68
src/day03.rs
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
use itertools::Itertools;
|
||||||
|
|
||||||
|
pub fn process_part_1(input: &str) -> u32 {
|
||||||
|
input
|
||||||
|
.lines()
|
||||||
|
.map(|line| {
|
||||||
|
let compartments = line.split_at(line.len() / 2);
|
||||||
|
let overlap = compartments
|
||||||
|
.0
|
||||||
|
.chars()
|
||||||
|
.find(|ch| compartments.1.contains(*ch))
|
||||||
|
.expect("There should be one overlapping item");
|
||||||
|
|
||||||
|
match overlap {
|
||||||
|
'a'..='z' => 1 + overlap as u32 - 'a' as u32,
|
||||||
|
'A'..='Z' => 27 + overlap as u32 - 'A' as u32,
|
||||||
|
_ => panic!("Invalid overlapping item"),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.sum()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn process_part_2(input: &str) -> u32 {
|
||||||
|
let result = input
|
||||||
|
.lines()
|
||||||
|
.chunks(3)
|
||||||
|
.into_iter()
|
||||||
|
.map(|chunk| {
|
||||||
|
let lines: Vec<_> = chunk
|
||||||
|
.map(|l| l.chars().unique().collect::<Vec<_>>())
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
let overlap = *lines[0]
|
||||||
|
.iter()
|
||||||
|
.find(|c| lines[1].contains(*c) && lines[2].contains(*c))
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
match overlap {
|
||||||
|
'a'..='z' => 1 + overlap as u32 - 'a' as u32,
|
||||||
|
'A'..='Z' => 27 + overlap as u32 - 'A' as u32,
|
||||||
|
_ => panic!("Invalid overlapping item"),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.sum();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
const INPUT: &str = "vJrwpWtwJgWrhcsFMMfFFhFp
|
||||||
|
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||||
|
PmmdzqPrVvPwwTWBwg
|
||||||
|
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||||
|
ttgJtRGJQctTZtZT
|
||||||
|
CrZsJsPPZsGzwwsLwLmpwMDw";
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn day1() {
|
||||||
|
assert_eq!(process_part_1(INPUT), 157);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn day2() {
|
||||||
|
assert_eq!(process_part_2(INPUT), 70);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,2 +1,5 @@
|
|||||||
|
extern crate core;
|
||||||
|
|
||||||
pub mod day01;
|
pub mod day01;
|
||||||
pub mod day02;
|
pub mod day02;
|
||||||
|
pub mod day03;
|
||||||
|
|||||||
Reference in New Issue
Block a user