mirror of
https://github.com/cupcakearmy/advent-of-code.git
synced 2026-04-03 03:15:23 +00:00
3
This commit is contained in:
11
2022/03/README.md
Normal file
11
2022/03/README.md
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# 03
|
||||||
|
|
||||||
|
The first part is easily done by using the ascii number of the characters and 2 offsets. The second part I first though we need to find the groups on our own, but (RTFM...) it's just every 3 lines, so it's just a matter of using pythons `set`.
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Solutions</summary>
|
||||||
|
<ol>
|
||||||
|
<li>7746</li>
|
||||||
|
<li>2604</li>
|
||||||
|
</ol>
|
||||||
|
</details>
|
||||||
301
2022/03/input.txt
Normal file
301
2022/03/input.txt
Normal file
@@ -0,0 +1,301 @@
|
|||||||
|
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
|
||||||
|
|
||||||
82
2022/03/python/main.py
Normal file
82
2022/03/python/main.py
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
from os.path import dirname, join
|
||||||
|
|
||||||
|
# Day 03
|
||||||
|
|
||||||
|
# Common
|
||||||
|
|
||||||
|
|
||||||
|
def read_input(filename):
|
||||||
|
data = join(dirname(__file__), '..', filename)
|
||||||
|
with open(data) as f:
|
||||||
|
return f.read().strip()
|
||||||
|
|
||||||
|
|
||||||
|
test = read_input('test.txt')
|
||||||
|
data = read_input('input.txt')
|
||||||
|
|
||||||
|
|
||||||
|
def score(char: str) -> int:
|
||||||
|
offset = 97-1 if char.islower() else 65-27
|
||||||
|
return ord(char) - offset
|
||||||
|
|
||||||
|
|
||||||
|
class Rucksack:
|
||||||
|
def __init__(self, items: str):
|
||||||
|
self.l = len(items) // 2
|
||||||
|
self.items = items
|
||||||
|
|
||||||
|
def find_common(self) -> str:
|
||||||
|
front = self.items[:self.l]
|
||||||
|
back = self.items[self.l:]
|
||||||
|
intersection = set(front).intersection(set(back))
|
||||||
|
return list(intersection)[0]
|
||||||
|
|
||||||
|
|
||||||
|
class Supplies:
|
||||||
|
def __init__(self, rucksacks: list[Rucksack]) -> None:
|
||||||
|
self.rucksacks = rucksacks
|
||||||
|
|
||||||
|
def get_common(self):
|
||||||
|
return sum([
|
||||||
|
score(rucksack.find_common())
|
||||||
|
for rucksack in self.rucksacks
|
||||||
|
])
|
||||||
|
|
||||||
|
def groups(self):
|
||||||
|
group_size = 3
|
||||||
|
total = 0
|
||||||
|
for i in range(len(self.rucksacks)//group_size):
|
||||||
|
i *= group_size
|
||||||
|
subset = self.rucksacks[i:i+group_size]
|
||||||
|
sets = [set(rucksack.items) for rucksack in subset]
|
||||||
|
chars = sets[0]
|
||||||
|
for s in sets[1:]:
|
||||||
|
chars = chars.intersection(s)
|
||||||
|
total += score(list(chars)[0])
|
||||||
|
return total
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def parse(data: str):
|
||||||
|
rucksacks = [
|
||||||
|
Rucksack(item)
|
||||||
|
for item in data.split('\n')
|
||||||
|
]
|
||||||
|
return Supplies(rucksacks)
|
||||||
|
|
||||||
|
|
||||||
|
# 1
|
||||||
|
print('1.')
|
||||||
|
supplies = Supplies.parse(test)
|
||||||
|
print(supplies.get_common())
|
||||||
|
supplies = Supplies.parse(data)
|
||||||
|
print(supplies.get_common())
|
||||||
|
|
||||||
|
|
||||||
|
# 2
|
||||||
|
print('\n2.')
|
||||||
|
supplies = Supplies.parse(test)
|
||||||
|
print(supplies.groups())
|
||||||
|
supplies = Supplies.parse(data)
|
||||||
|
print(supplies.groups())
|
||||||
6
2022/03/test.txt
Normal file
6
2022/03/test.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||||
|
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||||
|
PmmdzqPrVvPwwTWBwg
|
||||||
|
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||||
|
ttgJtRGJQctTZtZT
|
||||||
|
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||||
Reference in New Issue
Block a user