Upload day03
This commit is contained in:
parent
912272282d
commit
6fb292f850
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
target
|
||||
|
@ -6,7 +6,7 @@ These are my attempts on [AoC 2022](https://adventofcode.com/2022/)
|
||||
|--------------|--------|--------|----------|
|
||||
| [01](day01) | ⭐ | ⭐ | Python |
|
||||
| [02](day02) | ⭐ | ⭐ | C |
|
||||
| 03 | | | |
|
||||
| [03](day03) | ⭐ | ⭐ | Rust |
|
||||
| 04 | | | |
|
||||
| 05 | | | |
|
||||
| 06 | | | |
|
||||
|
7
day03/Cargo.lock
generated
Normal file
7
day03/Cargo.lock
generated
Normal file
@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "day03"
|
||||
version = "0.1.0"
|
12
day03/Cargo.toml
Normal file
12
day03/Cargo.toml
Normal file
@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "day03"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
|
||||
[[bin]]
|
||||
name = "day03"
|
||||
path = "main.rs"
|
300
day03/input.txt
Normal file
300
day03/input.txt
Normal file
@ -0,0 +1,300 @@
|
||||
RCMRQjLLWGTjnlnZwwnZJRZH
|
||||
qnvfhpSbvSppNddNdSqbbmmdPrwttJVrVPDVrJtHtwPZhrPJ
|
||||
BFpFzSSqSFFSvQsnWgCMjTLzng
|
||||
DbWVcVRRdlLffvtqjTWNgQ
|
||||
mJJMpsmrMrJSHJpsHrFHvBvgHvqfNvzffgTvfj
|
||||
mMhPjmjmFPJhMSGGcDRlwRdcLGPc
|
||||
qFcbmWFJqqWpRJcQWpqsQQQwSPCPrHRHCPdNZtSrSHwrNZ
|
||||
jGMjGLhhhgTvghgtGVjnNCrPVwZSZffSNSwHZZdH
|
||||
DvzDlvvhnjlMlglglGGhDLpqqcJWWtsmszpWbBBBmQmb
|
||||
SPLPHQbJSbPsvTLmfDvVDctvWhcDlD
|
||||
jdRRzzGgJqwrpMRMgdjlcVcWqfWWlfDlmmlWhB
|
||||
rwgRGdpGprNNLQLsbZJPsn
|
||||
GZhTVLztHrSzrRBz
|
||||
MJWjMvsfSCLSnrJn
|
||||
MjglcgWMdccvZGFtTDchLLLh
|
||||
rgDHBgBjRgRTgwzwthBnQwmBtB
|
||||
MsMpSfMsTGTFFLdFFFMFsnNmthNnzhthtwmWnznz
|
||||
pZMpJdvJMGRHVJJTVHjb
|
||||
TQVqZVBcBBdBfbpN
|
||||
zvzrtCshrntCHslPMMMFpZHbNSpb
|
||||
hLWhGLttsvLvrrWvhzVmQgwJZTRcggTjGcgT
|
||||
SqRGLHtSbtNTbhjFTjDDpF
|
||||
WwgJgmdmMdwPDVQQBBhSBFwV
|
||||
JMPlmlSldWZmRqtLsRGRtvls
|
||||
mZvmvPNmlNJPJzzmgNvNgdqqdBSpfHBqSsHqHfwpsffq
|
||||
nhDQDrwLrVVnqfGnsBGBGGsH
|
||||
VjCDMhbDjLjtFhtLhLhQjNZcZPwWWcczmvglgJJN
|
||||
wwqnwZGGZqqMpMprpZqwGlLDtNDffdBdNVBmNGBN
|
||||
TSTchTFbRLfLmVhNDm
|
||||
SCLRvJQvRFTSRjqMqPZrZnrzZzjp
|
||||
cJfqGjgGJcsgsPnghgBm
|
||||
FHHbQQHLWLbPQThqQQRnZs
|
||||
lLLMSCvrlFMwlSlFcNwqDVVpJcfjzVDf
|
||||
cRdRDhsDFzPztwJdGP
|
||||
CVqpCqCgSNfCSQBpjtBwtlBBHLlmGjGG
|
||||
qfQfCVQfgQnVNpQCMqfcrFrwWDhrDnsvcRDsbc
|
||||
nFWWzqWZQSqnJzNJzslJVsdV
|
||||
vBBvsLvbBmBmRlGTNJJvRRTD
|
||||
tBbpmmPwCmHpMHHMrPCCcSnZSgcFcZgWFscSfgth
|
||||
LLssTJrqrpvrvvpJvdjggMlgzVgVggPlFPqz
|
||||
HwZwCZfHNtbMzjgVnFPC
|
||||
RSttfRwZDtBcZwQMQdrQsdTBQQmW
|
||||
lJnNhMJqljlNhSrdWlGGGQHwwH
|
||||
vbTpbCsTFCTmbSmcRfVCfRpwcPdwWQQrdwHwBHrPdwrLLB
|
||||
sVTmDfmCTVmJjgSzzntDtt
|
||||
DQtMjZHZHvMbwwTSpqLtpJ
|
||||
FzVFlsNdVczWPzWcslVfSLqLsqJpSwwsJswLrf
|
||||
dNFFWcmzWFGLWcdcFgvZvvRHQvjMHDMBGD
|
||||
MVPTmPvbMgrTmmmmMRMvPvBwFGhhDCdFFwLCLdJhDGFRhG
|
||||
fqqWfpZWzWsDwhwdhwqGLD
|
||||
ZWSSftStnnplcQLSbVMBvTbrMlbrBvvl
|
||||
FSsHDmtFLbbFbLGg
|
||||
vrvzTzWzzzvppzSzTMnfTggjVgbgjbLjgPPnbGbVGL
|
||||
pdMwrBpfwfSMTTWdMTpBDCBtmsmltslcBDCshDHs
|
||||
RgbmfGtmRVgLLSVSnSrWWSHhnh
|
||||
ccTvlvNppsFnbFnhnWnPHJ
|
||||
pqNjDBjNNjvpZfmtjbCLbCmb
|
||||
qsSVpSVfWqgNrVtWptpmSfqbPQljbHPHlDnljRSlwSnwQn
|
||||
dcGBrMFMdLTGGdlwDwMRHwwMbjHP
|
||||
CFBvhFhTLFCGvFchChBdBTJtsNpWqfVgtszprmVWNqNgvV
|
||||
sjsTgNSNqSjgMmVPmmmrpH
|
||||
RftCcWddRCZfPtCfcQZdcZDcrBllBFpVHprHWlHHpHJJmlFp
|
||||
thPZRtLcDRdDCTTsqbnwjhvNjq
|
||||
TQPtgfgdPcdSQhjwHhHBLS
|
||||
RrqCqVVbJmVRJmsrzmJpWljlSHLSBwSSRWllWv
|
||||
CVrDNbHrJHVMCbrDJsdFdFcPFZngMfFdTPfP
|
||||
NNlZgndqmGVGGVZNWQmWmbhbbhpbbhtCbhtgCpCtMF
|
||||
THfLPTzwJTJrvHRwwsbFbhfbMCpphVtBbB
|
||||
RjrvzHLzPDvLzPHrTJVrwPndZQNlDZGndZWDdNNcmlQq
|
||||
tjDsjDGtTjVVbQVCggvrbg
|
||||
qrWWRBllRFrdlSMCdbSJCP
|
||||
cZcncRnhphpZWRNtrmsrGpHffmwH
|
||||
qpRjdcqTcMbbMRTwtnplnwnhPzhBhw
|
||||
FSFLvNrsPNrsGSLsrFSGfnwBQwZnZwhQQLwwQhnn
|
||||
sWNVmVmCFNWGsCrrjRTmMjRjPRqgJqJg
|
||||
sVCnzVpmFpVSnNFCmnmzwRFDWDdMllDccMdwDMjWjWlWjg
|
||||
BJbPJGGGHPZqZQbpMlWWMWlBljjjgDjh
|
||||
tGQPpZtfTPpqrHsVLSzmRNLtSFsN
|
||||
WCDlBWWlvMFWlQWpmSZdZnNmGfJZFZ
|
||||
LqjTjgtjPcHTTJgLThztcLTLnHnmdSpZdpdffnmZSppfGpSn
|
||||
PtzqzjtqJgggzhqqccqhrQMsMvMwrCwMlBvMwvvsvs
|
||||
NMsJfsHTMVbjnLnVsC
|
||||
htWllhmZcWDWBwhZPcmpVRjnVMRLCCjLFpCwRb
|
||||
PmZMrBtcPmZWhzDWBtMmJQdddHfQGNSqHqQGGTgr
|
||||
NmfnnsPlHnGqnlsNNmRPltRLvrhvrSGJSJjvFFFSSFJLhb
|
||||
PzQZccVPVwgPjrJSJjhFFpQr
|
||||
TdwBgdTVwzdwzlmNfRqPmqqTql
|
||||
BVLLBPmPmWBlMlLJnJlBlFQVgdRDdRZRZHpZjQzdRdZQdzQZ
|
||||
trGTsfbTTgHZptzSZW
|
||||
fsfTNcCqqNhhVhVFVhVBWLLB
|
||||
LJwgJNfbCvwCJCwBCCNhhHmGHWWSMWmWmbMmTmmGdS
|
||||
lzRnnltsstZzzRTfHtHWHGWftfHW
|
||||
ZFFzVFqzqlFcZscZpRZsNphjhjvjfgJhQgQvwvhC
|
||||
HHzcFNcHFjhjZjlrghLL
|
||||
pMZJptpZWCmpttRMCWnnDnBGGDLhlLQrhl
|
||||
MJsMCTZTTpTJRmMCJzfNsNcfNHqzvvfcww
|
||||
ZDtllsDlVsrQBqQqRfWl
|
||||
wvJgpPhhscgvpJFNrRjRrWRjqrRjdjRv
|
||||
zpsNzCsNCJCCPPHSLzznMnDSLGLM
|
||||
rfrJjFWrwjpnJjjjfrjJJnFVTgTggRWRRRPPLQgCgQcPPT
|
||||
sSNbSvqmsSZDZZBtNTTPGgMLMRVcgPCMRb
|
||||
zZDZzNNSmrfpjFCjzj
|
||||
dbbNJPBbbrFqNqttqrGbqDcmDQRmFmwcwSnQSDcpwS
|
||||
ZMMTsHjzLlLcnSVwpRRQ
|
||||
hZTWjWvTZzTTWhszfwbJhrgJqtBbJGdqNPqt
|
||||
rrqgHrgtcHJRRjWZlRvnnWBn
|
||||
QbhVmdFppwbdjnMvlnBwMWZP
|
||||
TpFDdVTFTDfhHfJcSJSzGZGf
|
||||
sqNTNZHsHjjFBBwJMMNMcCJD
|
||||
WGLQPjfWfQWPWmtLSRRRLwBJDbtCCJJCbbwCMBbMBc
|
||||
RnPdLQfPLRdndGGRvfjlgdrTTgTsrgTrZFzF
|
||||
BfHbjVVqSBFfMSlCLCDrGSQssvlr
|
||||
tTpnnzpcPnwzhcnJTDtTPRprGlRGGGCWlQsWvrlvrQGQrC
|
||||
DPwhghDTpPVHqqdgZbZq
|
||||
ZzPqfGPtRtqfqPbqfGgGZbrhMjmjBCpHpHNCmHtHjmBHnj
|
||||
QJwllvFWwDvnwCBBzjwwpC
|
||||
ccJLVQzWFJvVJlVbgrZZLZLRRPSgdr
|
||||
rBGbLbnTfnZrQbTnHldqsMmHsqlsWfMd
|
||||
JcJjCCPzPtjCNHdlGGMlll
|
||||
jjgpRRvcGbwpThVppT
|
||||
ttDfjtqfjtpTWWwfTbtlWccNGRSZNGPGhZGhGhcwRh
|
||||
LbCrHdvzLSSHmSRNmc
|
||||
JCsBvrvBLzFQbbvlVVnpQpDtWlDqfq
|
||||
vvdvJBfvdTvRBflBJPNmmffmgPCMwDgsss
|
||||
rFjqLnMcnqrrtMLtjNgCPCsNzzgsPCGFNs
|
||||
VqLqnLVZqjMZqWnrVtWlZJJSvHvBdRSvBdRvvJ
|
||||
zZBDzgQQZLlcglzjrCrCMFjGZbMsHm
|
||||
PnnJVRfttTtwVnnVFGHVsjCFCjrsMM
|
||||
wPRpRpRnNTpPNlBdQQDdgDNMhN
|
||||
bNQpFpnwgtDHpbnhWtffmfmhvhhfsZ
|
||||
LcdLdwCLPPSVSqqwZGhWdJhGJZhlGlsm
|
||||
TBwSLPSPVRSVqSVqVrcnpMDDngMgnQpbRQFDNH
|
||||
vPSvBJZSSdJgpJJZBDGDGrdqGdllGrGDrh
|
||||
HMtsltFlRVVFtlscRjjMcsWwWChWmrnwDWGwChmjGCWq
|
||||
MQHNlTVHNVHpbbpbTvvBvf
|
||||
VsbPMwhbWhzdpzNNggnBcTBWNngQ
|
||||
RmtZZFZqSjqVHmGQNcBHNLGLGHQH
|
||||
JjRClqCjZlDZmqSqljFZZqRCvsvPfshhMdwsDwbVwzMzhffb
|
||||
bfGtRgfDtVmsMzTbmz
|
||||
LjGZwQLLdjFdHLNMhmzBzMNHNmzN
|
||||
wjQLCFvnnQGdZLGWSjdqWDfPlrRpqRDDRqrpPr
|
||||
pqnBZqjCNCqQqmllpHGMGdTfML
|
||||
PsFgrRvSPsWTwWWQwGHLHW
|
||||
SrvgsFbrrPJJFsrFPtFSCChBDQjqCqtNhDqhCqNC
|
||||
RJZRWZWMWZPZffRCPWMdRdfQQQjJzHQsssjrSQFVschVHr
|
||||
NgpnDgvGTNTVFHFFjVFF
|
||||
jntvgljpGvlnbLtLbBvnLRPlCCwwCfRqMCCqqqddqw
|
||||
PFBMVDSVPHMTThtMtSBMMVNbQprHbNRgNRRgLnvpnjnN
|
||||
scGcrcwlswdGlcqvbQgnnpQnqLjnpp
|
||||
ffwswWzcmlcWWsmcZhrDFrZMFZBMFzhM
|
||||
LMdZGqdRSSZmCZMRfQjnggvlvggRcznz
|
||||
tjjFhBrtpthpslcvvlcQzFnFvQ
|
||||
jrhbjtpJtbZqCLdWLq
|
||||
HBGBfBttZzbGbljPdpFddFqRmqRzRN
|
||||
JDWghDDSDqmmDDpc
|
||||
CLvgMvChCvLphCTSShhMhQsBbfTfsGsrBfjfrljrZZff
|
||||
RgHgDqDzqQqgcdHqcZGTNlGffGBDGZBTGZ
|
||||
LFLPWsmvrbwhwwswrTlTTCBNGFfGlNJZNS
|
||||
vhrLnvhNmWvMsrvwqMdRcptQtztcjptz
|
||||
sLMLsThhjgqLlsnsLgTLtMFcRbcPcJSwJbbSbtSWScSt
|
||||
fvrjjDjvNprdPwwJCCSrWPFP
|
||||
vfZdGzVzfvGGVGpBjnnMglTsgZlqsMlM
|
||||
TCVMfCfBnHHfLLPFWb
|
||||
GgQlGJzNzbzHcHHLlcPLHL
|
||||
tQbNQGgRZZCVtVMZ
|
||||
QFFMzwjwngsvsBjGGJWbBbBWbB
|
||||
QdmVDmVDWRPWVPVV
|
||||
QHtHSdDpLQCCSHrtqrdrttDfLgvnFvFghNszzwgngFwsNF
|
||||
RzzTNpSRBzSBVpSRlHNSHBSSGPcLNGtjhPPcbcGhPPhcrnct
|
||||
CCmmCwwdfFJqDmdwsddhsmvdcMbLfcftttbPnjMPbcjPMPbP
|
||||
mdZQmvssFdqsFZvsZQmvDvmWzgQBWTRzTzHlppWRglHBQh
|
||||
VWmnfQWzWWnHWMfmmMVNMfWjtBtBNSNSrlStlpjJBBlgBS
|
||||
cZZvbwsZsbbZvvscCRdFTTTQrBStdBJgSdhjgBjBjJjpJJ
|
||||
wCFTCbZbFwwCTvFTwsPGccMzMDWVWfzLGmqHnnDHGLQL
|
||||
sNQQHbbhdlpdrQllqpsqSpGjZDZGgDnVcnjjnnDZ
|
||||
WWRLGFvJBJPvzzWjnTncDVZTTPgDff
|
||||
FLRLGRFRJLBWJmJzMRLCvldrMrbbltdhQQlNqtMbsb
|
||||
HZllwlZSlSZwhvmQjcZhTqcT
|
||||
sPzzdgpszpzsBdvvMccvcqPThjhM
|
||||
JDdsDspLzsdzBgVdBGBzCLlwbbwWSnlnnWffHwJcNlHw
|
||||
nzCTCnpqJqfCnvvjZjWjPcZrmcmZfW
|
||||
GNdwgVjwRdRglMrPWLPWZWcNWW
|
||||
dVblgtRwQgSGVBldbQBbBRJnQJTsJHTqnzzJFpjvHnnn
|
||||
dqpQQrdqQpLfqcGSdggQdgRMmwHBMMBVNRNDFFBDBgNt
|
||||
vTzsnZCnlCnshbPlvZJbBzVmmVRDNwtHFBwMDVBR
|
||||
lJCshjTJbVqfVdjjjG
|
||||
WlLCJlHLcZcJWcWZJnLHnPqlFtSthTnFNThVtNhVhvNVzVtF
|
||||
QfbgRsspfDRsgfjqqRRpDbSNSTFzBbTbhttVBhVNBzzT
|
||||
fwgfRdpdfQDqgPHHZJZCcdGddH
|
||||
sbrbmVmfddzJntZZtwtMMf
|
||||
PvhwPRlvvWhFvSRhpFMMJGMFppnBTBGJ
|
||||
RPlCCLDPDClwHbrdzsdNLzgs
|
||||
HZgqtgbqRZvzwzCh
|
||||
BFqmGfrNLQfhzJWBhRJwJR
|
||||
LFqFQjrcrcqFNMmMdHggntDPMnsDbn
|
||||
NmWmPblGnnTTNlFGPmNWfwdchdlHdBdwcfCfZppZ
|
||||
rzqzRjgVrJrzzcFdqdCBFBhZhH
|
||||
VDRsRMjRJJrQsJPTGFNvsbnsnLGm
|
||||
nrbrBLTffjNRzGQSJHJQGT
|
||||
tcZqMcppCmHRQPGGCG
|
||||
pMDcZhpgcpFDfrwNDDrLVjGj
|
||||
LWlmlmWqvrBMWWBlmjLThBrfPJZfZZCwPCJJwPCTcggCsd
|
||||
pSbRHbzpHDVFRQRfPdfnZswgcJcppp
|
||||
SzRNGbzSWNPLWqLv
|
||||
vqslblpspsvqBFSqcrrZZDdTfFPHccrf
|
||||
GWRhWmjwhRcQdCDrPjDP
|
||||
mcWLVnnWJgGRzVSsVSpSSptNpMvb
|
||||
wHTPfdTvHlPHGpdvvTddGfcJLLWWwWWcCWrqrVMWCVLL
|
||||
zhsSNZhnshNSnvZmvsCWWSLrVMcrSCLWJcrq
|
||||
snDnshmNsjnTdHPfDGvdDT
|
||||
CfrnFFMnnsRNrNCwFCrdssgqgqvVZvZqlTWBNWZqlJBW
|
||||
htDhDLhwPWWBqTghgB
|
||||
DPLPzHDtSPStjLGLtzSMwbdMdnCHrRdCFsmfnR
|
||||
nBNWCvJmVPNnCPNDJWbtmSwqTttcQsSqtqTjQQ
|
||||
pMflzLlffRRMRdFlflpLddGdsTjwHqzcvwTqtsStQQjtwwsQ
|
||||
ZhGlphlpvvLLfFGvMLhfrfWNJNNPVPbnPhnDgDbDDNbJ
|
||||
ZCpCmVlZvlpBBwvvMCrJhrfhMfjjWMSG
|
||||
qhstFzFFqzHGzNfSMJSGzM
|
||||
QnHRPRgRQPtPhtnDsqsbDQPBlTcpBwmVmTvbwdwBTVZVpl
|
||||
PHmqHdddqBWMmTvMvTGMBWPdwhssnnHlhgsNwhwNHQzwrswh
|
||||
cSbVcDLtbfLSFzhlhJswgtrsww
|
||||
bSLlFLFFLDZVLpZVjFLdPMdBBqGGPmmqWGdGjM
|
||||
FQCnQwFRbnrSfgQgwFRCnswmPLpMppPdMMllpLMptMLldPSZ
|
||||
cJhhJcJVBJjhfHDvJqThvVDcpdGGqdZGdlltpqWdMqpdGWtG
|
||||
HhzTjJBzJTvNJHvzvvNBzBFnFCNCbCwrbnRbgRwfwQsg
|
||||
jRzDgbDDQDgVqqDGsjttNdwqNJZNwNdTWrpB
|
||||
MHvvvlSHFllMhhMrpWBJtlWdpJrTwZ
|
||||
mFcFFHmCmtcvfvFFHHLDGnRVzjDgnmgmnzGgGg
|
||||
JJhDpDdmsJJdgmhrpPjGjFLPPSNpjL
|
||||
WbznbRGnPfrfRSrN
|
||||
WqGnnVGVMGHtWTCgJvZHggBggZCg
|
||||
wlrPQtZQvwrzlvNfZLMZBjbbqjqLbSBjTg
|
||||
PGJDVdsdhsPVPjbTcLcGLgjqbM
|
||||
VPDRHWRdsRQvpfmmlw
|
||||
pvTZTSpTZvGGphNvvbDpdrMqrjlWdPqqjWdldNrd
|
||||
gmmJmsQfJgcRQJQJJncVQjMWllSnqljqBlPPjPHHHH
|
||||
QVJQRVcwmJcchwpSZLwGbSZZ
|
||||
zjrDMWcjDzQjDlWrnqqRBRNhBJRBhBJqnf
|
||||
TTGPPdgGLwdHGwGPTgLbbvhHtRRNRRSfchqRvSqHRJ
|
||||
TZTccPpdZwPQjllsspjVzD
|
||||
jHLHhHFRjhcblDRRWbWTdtppLTntTnMmGLMvTp
|
||||
BBQBgBBCrrgqJqTtMZMpngdtpvpG
|
||||
QJJJQrsVsQQfQVPCNqsNSjHdhhdRHDNHFHFclh
|
||||
RbCLnvdtnLRLRbmLPpHdQCvmNJpJSZSJlgDzglGlzcclcDGD
|
||||
qBBwMjfsFMjsMbfWbwjlzDZlcWclJczgNDGNDl
|
||||
wqjhrwwhhCvbQPrRnC
|
||||
vpWDDDWZQQNGllwHlwWVGj
|
||||
LCPdqdcdtsvdsCtsddvmVrVjjrBwHlmswmBnmw
|
||||
fLfvSgvMfdCPqzZNThfNNpTJJQ
|
||||
CVVVLbNVmGNQbGbGHHbHbvdwgQlwJDTFgJQdDZDJFD
|
||||
ssWBsBWrjSzWrPtBjnSCTwvFZlDjwZDdgwTDwggv
|
||||
nntPBqBrPsBfnCRCBWzCVcGVHMLNcbHLNmHqGphp
|
||||
sbbwwzdsbqQQbQnnNbPNGbznHHRdLTggMVHFVvRZTRVRHMZF
|
||||
mWffDWfflBpfmcWjWrrJVvgRLlMZVVhMFFTlHhMM
|
||||
rJJCctmjcfvzsqsqbtbqPP
|
||||
HGWjHWzVctQVcJVtjvRsvLTddqDDDsjRLg
|
||||
bbMnlNChZQLZhdDs
|
||||
SMMMMMMNmMllSlrmCczGcVzBcGWFBQGcrt
|
||||
VwQlqcLfdLGqdqDjjgZrjZBdttjd
|
||||
zSPPPJzJGjJjZrCBDt
|
||||
WMTMsTWsccsvGGwH
|
||||
hZvbQrjTTZjZcjWNrjnQrcTRpGMqcRfRRGzHfHfpfRMqRz
|
||||
mDJlFmwCVVwbCVbPBRLMMLpRLwRLHqpR
|
||||
gsCmgJsPDCtCVlvbhgQjhgQbnQbd
|
||||
fSgbhhGPGJGhRDmlhhHcHDBH
|
||||
LsMwQWFswsQMsQMvjslcBcDldBTWfDcHRRdl
|
||||
ZpVFwLQwVLQvCVsMjrJbbCNPbzSJtPbPPf
|
||||
VDzWMCpfCcCRDzqDzqNnvLZnfntHQnPPLQlt
|
||||
sJmdbTBdmmGhFhhbJNNQlJnQlQLHPZNn
|
||||
sdwmwsdrmMRpDRMLcw
|
||||
JpWmSWpCnCbJBZHZVldbdfZf
|
||||
rgdrgNdrjgNPrMjwTssrPdfDZqsVfQHDFlQDDHQVsZfB
|
||||
TRPdNNLgjNwrRTrJpppzCmzmCLSnvS
|
||||
QbtQJHQmbmfmBRvbQRzBvldqcFljsGcFdGdvsqqGls
|
||||
ChCPWhDhWZWJVnZpCNChhVDcMcDdcdgGscjgFjGFlsjjGq
|
||||
WZNTWNhNZfJJbTJTmR
|
||||
CHGCHFcZvCrchrZrhsVtsBQjMstfZMMBgg
|
||||
NNqwDLmDjJgQBmVQ
|
||||
wdWLLTgWRTWcCcbrHCHhGW
|
||||
bTZZvNjNjLgTCHcWhccfhWJdhvnc
|
||||
mnFFmPGSwRPShzVPPWPdhhzr
|
||||
FRtBFGBMFQFttRwtZgTjCTnQNbNLjTCH
|
||||
bJSqrSpDJbSNbFjSFCfPWGcwGWPrcTCfwr
|
||||
tRtLhDsvhQZlHRhRtQQnCnCcdwCPwTwdGcGP
|
||||
HsHvsmBZvmvsmBhHvLssVqDSNgFMDzgbbDVJzbpMVq
|
||||
nSSDHRRRQRBCLCQC
|
||||
qGmfPzGmGlrrrpfrqlzrJtLvBlhQbSCvbtCtlFhLFC
|
||||
zzpmqqJJVVfJfPfMpfdHNndsNwDSMSDDNcsc
|
||||
CscQsVMhCsMsMHhhVthtwmgZNRqzWLBRLRLmBWmZWBND
|
||||
JQJdddrjrLqBgDBq
|
||||
QbFlTffpMbMnsPCh
|
||||
gDdbVbVDddDfVfWQfBRLQZsZLRQQ
|
||||
FCCTrGCMStwGHTtTWLQhLZrlRssRhRhp
|
||||
FSHqtFTmFwmCsSwGTHtMTSdjjcdnVddgzmbVmjmndbbD
|
||||
JtBBMcLWLdfFLhMttcWWhfWLrTRGFsbwTmRGwmwbbCTGGsbD
|
||||
PzQpSQQQvzVvpzHqjvNvQSvGRmmTDVRDmsGsRGsrcDcDGC
|
||||
cQPHSPvPvZHqcZjzpZjnZNtWlLdtldJWfnfhlJJtLdMg
|
||||
nPPssTBnMJPdtHPVHtRhpv
|
||||
bSSgGFWDgWwDFFlmWlcShqdpRqpVcHvvnqpvpRHd
|
||||
bGFnGljgSsjBCTBszz
|
6
day03/input_demo.txt
Normal file
6
day03/input_demo.txt
Normal file
@ -0,0 +1,6 @@
|
||||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||
PmmdzqPrVvPwwTWBwg
|
||||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||
ttgJtRGJQctTZtZT
|
||||
CrZsJsPPZsGzwwsLwLmpwMDw
|
100
day03/main.rs
Normal file
100
day03/main.rs
Normal file
@ -0,0 +1,100 @@
|
||||
use std::env;
|
||||
use std::fs::File;
|
||||
use std::io::{self, prelude::*, BufReader};
|
||||
|
||||
fn main() -> io::Result<()> {
|
||||
// Usage: cargo run -- <input file>
|
||||
let args: Vec<String> = env::args().collect();
|
||||
if args.len() != 2 {
|
||||
println!("Usage: {} <file>", args[0]);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let file = File::open(&args[1])?;
|
||||
let reader = BufReader::new(file);
|
||||
|
||||
// Could use lines().collect() directly for a Vec<Result<String, Error>>
|
||||
let lines: Vec<String> = reader.lines().map(|l| l.expect("Could not parse line")).collect();
|
||||
|
||||
part1(&lines).unwrap();
|
||||
part2(&lines).unwrap();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn part1(lines: &Vec<String>) -> io::Result<()> {
|
||||
// All misplaced characters, one char per line of input
|
||||
let mut misplaced = "".to_string();
|
||||
|
||||
for line in lines {
|
||||
let (left, right) = line.split_at(line.len() / 2);
|
||||
|
||||
// Find the character that occurs in both halves
|
||||
for c in left.chars() {
|
||||
if right.contains(c) {
|
||||
// The character exists in both halves.
|
||||
misplaced.push(c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
println!("== Part 1 ==");
|
||||
println!("Misplaced characters: {}", misplaced);
|
||||
|
||||
let score = find_score(misplaced);
|
||||
|
||||
println!("Score: {}\n", score);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn part2(lines: &Vec<String>) -> io::Result<()> {
|
||||
let mut badges = "".to_string();
|
||||
|
||||
let mut chunk = Vec::new();
|
||||
for line in lines {
|
||||
let line = line;
|
||||
chunk.push(line);
|
||||
|
||||
// After reading 3 lines, find the recurring character and clear the chunk
|
||||
if chunk.len() == 3 {
|
||||
for c in chunk[0].chars() {
|
||||
if chunk[1].contains(c) && chunk[2].contains(c) {
|
||||
// The character exists in all 3 lines.
|
||||
badges.push(c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
chunk = Vec::new();
|
||||
}
|
||||
}
|
||||
|
||||
println!("== Part 2 ==");
|
||||
println!("Badges: {}", badges);
|
||||
|
||||
let score = find_score(badges);
|
||||
|
||||
println!("Score: {}\n", score);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn find_score(badges: String) -> u32 {
|
||||
// Returns the sum of points.
|
||||
// Lower case letters are mapped a-z -> 1-26
|
||||
// Upper case letters are mapped A-Z -> 27-52
|
||||
|
||||
let mut score = 0;
|
||||
|
||||
for c in badges.chars() {
|
||||
if c.is_uppercase() {
|
||||
score += (c as u8 - b'A') as u32 + 27;
|
||||
} else {
|
||||
score += (c as u8 - b'a') as u32 + 1;
|
||||
}
|
||||
}
|
||||
|
||||
score
|
||||
}
|
Loading…
Reference in New Issue
Block a user