Skip to content

Commit 1323cda

Browse files
authored
Merge pull request #7 from aaditkamat/advent-of-code
2 parents 603d301 + a1c9b48 commit 1323cda

File tree

3 files changed

+359
-0
lines changed

3 files changed

+359
-0
lines changed

Advent of Code/2022/Day 3/day3.in

Lines changed: 300 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
QtGHnGlcwQGvHwMHGnnGfRFCJnRBfVVJRVBfCFBh
2+
qsDjzNWhmspNNqVrfjVfjJCbBVfB
3+
DLhPTmNDTzTqzpmzLpswGMHtMgwglcPQMQvSGM
4+
ctwDjvgtltgglHrSHCsQWBBDfS
5+
ZJZdVnmhmfCprnBTfS
6+
dNddhhdPRRdbdNcvwCPCgCctjPlF
7+
MNNDGMWrQsfhtrTnrm
8+
jcvRPRPJdvccRNFNCjLdcwJCSHtHPmzhsSzPHmfhnftnTffH
9+
RddRcjRvZgZNWNgQQb
10+
fPrvhqhRPSfCCfhrqtbtLcmZmtHCtpCFcc
11+
WFQJlTdzgGJVQGWQTzdJcHbQZtLtHmbbZMZHsZQm
12+
JFNlzTBNJGlNPSRhfqRRrN
13+
tdVVgttdDtJJsNPmzdQmjcPP
14+
CBTMmmmbTBHqHMwQcZPWWsWnzbbnzW
15+
CGlLFCTMGvqBGvGvGSRSRfmtRRtgVgrSLS
16+
LHSGJLWZLqHQHpRHRz
17+
bpBPVtpCwPgBCtqqvzfzMQvjbbjz
18+
lhVsTgPlBNThpBNwBtVThPnrGGWJZnLZFnFrGWsFrWZr
19+
nQbbbjpnsdsGCSlmHtJmvljHMjWt
20+
cDcgThLVcPTHVlVlHllvWp
21+
cwpgghTcRRczDhnQGGCSdfszdSbS
22+
vTMFDNTlDhjTDNMNJDwmWWWfGPfLnnzLGfMmmL
23+
bVQgbpqqtctzLflltnCz
24+
VSqlVSHRFvNwJSDj
25+
RfZfjljffssWLWPTGPjhzT
26+
FDCvMDMJJpBJpBFJCMBDMtPbWbLVPGztWPVTtPmLWGhQ
27+
DpgHggpwBJwzJMrFFvrCrHsffnRScNsdclSnnRnSNs
28+
wTvfHSvSwssPGCLCPhgSCn
29+
QNpMRqRJQMZlBBbRRRMfbZlBhPChghhlChGCtnthctjPhchh
30+
rrrNBbMZqRbqDsFHTwfWTFFwrF
31+
fVgfQhhgfTLHSLNZZHfZ
32+
CDtsqrqlDtqDddsqjsstHrSlNLWLcSZScFWWcNBFcBcc
33+
jrCJrHjDCMMDsJjJMstThppgwvGzVGQzhJvvng
34+
DGlTlSzbSnzmwbmblTBBPgffpNjFHppZBH
35+
WqQdWqqJdCrtvQtJLQjtdcBNfPsNZfHZZsHNNZHsBBHL
36+
cCJcjdRvqrQhqvWMzlbDGVGbSMSnbR
37+
BfQmpfpmsRCRPDSZVSjjSg
38+
MhNJGMTMHGGTbnGMJrbJHTzzdPgSwSqqPjPdZddSqNSwPZDw
39+
TWbWbhnHWBFBFBDD
40+
FrlJbTcBTcrlTlqwZTwWdhWLChLtVhdfLhmwWC
41+
pppSpzBGMMMjSSMSzMNzHRSDVWGWDWVCDtGdtdhLhftthd
42+
RNNgpMPRNgzggFJcBPqFZJZrbc
43+
SdvnnvvntnbDDqtz
44+
wRpFRRspZhgZgFggFMgtczcGGDzQcGlGDMqcDG
45+
CLLCFNZhsppRvvttBPCjStdT
46+
JJDMhSwmMwBnnJPJmQcFtfQtfgQhQQfcgH
47+
ZvCvTGqGVWTZZWptQggGtHfDgcpz
48+
dsVCvDTZWWbZqqCZqVsqsqmNlPNnSJmbNNmlmMSnJLBl
49+
MGnMBMBJFpBcNpdwRWRvRNdblmwW
50+
LSgtPCChgjCPgSSzCSqWLLbrdWlmwmwmFvml
51+
QhHPVSHghCtQFgCzgQhVnDGMGffnpcZMcMfJDf
52+
QwrJqMLRLtBQRtWLJLvQLMrMgNNzPDngNHlHnbbbggHlgZNt
53+
GdfThGcmShTGSfppmFfTHDNNblSZDbbzlBzZZHHg
54+
TffmGBBFcCFFmTGFhBwjJQJMQWqWQCrrvQMR
55+
mRbrjZzRLchHqqdLDllh
56+
mCGCsJSggCmgSGShlhhDVVVwhqSltV
57+
PsfsGNGJvGPfspvcmrTRBrjTZzvT
58+
NRNqFFtqqFrDDQRcJJJNrWDswHwWwbDVTgTwLbVlVD
59+
ZpdHHGPmgwTwldbw
60+
HnnnMPMzChPmnpnmfFJCRqcJqJRRrrtSBc
61+
LnNNLBmTNBNTwNZZjZmRMHJwMHvbWrvPMMWdcP
62+
GtSFDFpzsGVvMJdJsrMbvr
63+
SqQQGGtqqSVtDpGtplVDpVJClmnhnTZNjNfmnmBChCZL
64+
CHltTDsjHNHHdpDRmqdPQpzd
65+
fMMbbZwLJgMVVFmcRqRpzdqbRm
66+
MJJWfnVhMzTNGlNTsh
67+
WtWbtWvrrQGrbcSWHHfSHfgdWJ
68+
zpnPhLPhPnTMMnzMzpMnDzLPjTVjccSgdmjdvSJdHSgdjScj
69+
qqvMMCnDCCCzqqCzhPlLsRsGtrsNlRbZtBRtbrrQ
70+
mPTmlGQnjNTPQQNljnlQnmmCtgRPhghqgqgzqLRPtMqqMzhq
71+
pDsVSZcdVspbdBpcBHBcHhqLWzMbfhMMrMgMgzLRft
72+
pFZpJJFSBFRllvlFNC
73+
pbMVjJbwbbLqlZlstRhjstsN
74+
FSTnfCBcnBSBvSmmCFCCRQhZBZNsRGlsQQNsqZlG
75+
dvcdfFcqmfcmdMdJgwJJHMbH
76+
QSRlWDhQQqDqlTCjTRCSljSmVsPmmGmzsgvppzPVVzdPSP
77+
HHwtMNMZvfPGbdwdggwG
78+
ZFcNMFFvHLMjlCWrqhqchh
79+
jccDSGVVlRLVSVVScWZZwLvbphgwdpLwZv
80+
BQHBtfQQHBfmMtmFznrHzmDwghWphvZZFpDhZvgvpZhh
81+
DmQrPQnBtTnzrrfHrtfMrmTCGqPNjSPCRRGjRCRRqCNjVN
82+
bRDbbtVgPFFbDfgVCtPcGsNNsHccqcGGWCNNzW
83+
ZwlmJwwRSmlJdQRhqGNTqzGTwzqGhc
84+
ZQdZjpljldrSMjmjdRLdmdbVvvtDVFFffvBFPVBgMnBg
85+
rzwGrwPGppqzPMzrdqsssSsvgtQgTTTJsH
86+
LCNNHLmHWvCJstsJss
87+
cfVLLNBmZBVMVDHGwrhM
88+
FCGFrJltMGdFdGtlFtCgFzQfQnZfVVVMDcQDVzVjfD
89+
PSPSPZPRbPRsbBRbHBTPvfVzQcDQqWWnDjnnHDjzcz
90+
RmSTPwSTRpvSlZglgZprZtNp
91+
njtLGLbcNTbbLnLmNTtqnFzVPwJFFzPVFPwMVmfMmV
92+
srpZlSpsSVqgSPJJ
93+
HZsHsrZhrBQpqQvpdprnTnnHTbGLbHnjHGbjbT
94+
vFFnJjvnVSjgCqSCDZ
95+
lswrrcsQrHTHwdrDdhmqqsRhzmggghgsGC
96+
QPrWQWcDNDHdddNrQPfDMLMLtvvMbnBpPFvpFFvL
97+
LgltlRMtcccgMdlzqTVwwrdsqm
98+
FpvfSDNzSpnvGSnNpmsmVqVVrHwvTqVmmw
99+
pGjDFFDpffnWQbnzjLJhhLchPPJMPBLt
100+
lJqBqPvtvVPnttnJjJBjVMzMrFhdQrQFbGbQnrbzGG
101+
msRgTgmTLLmsTDRfQRllMdGzdRbMHQFF
102+
msfDWglWTpSLCgTpSCDsfPjvjtwVjJZqqSSvPVZSqB
103+
VZZWGZGlZZZMZrGMlQBQGWltFzqvzzcVcgzvmgzddccgvqFc
104+
rLjNrDRLDRLTqdCqFCNzFgqg
105+
TJSSbHfDDfSnbpHpJnGhWPtrZWnPhBwWPWBt
106+
ssvsDDjNwhjNhGGgDDRZllltLCLvCWbMffLCfWzb
107+
qVRmJFSQqqVcqSMWMWLMlllbtbVM
108+
PqQBPcFJFcmdrJPJrFrQpsNjnTGgwTwGssRNRnRBsG
109+
sHsJJfSsrpBLHCLJmdqgdZgRNZQlgRNC
110+
VtnFbhFhwjwVPPjhbccQDQqgRlWDQmdWZZDd
111+
hFhFvbhGwzvFbtbPnttGbtjsLBfspSrMvJLrpJTrMsLZrH
112+
nzJDJvvZznnqnZrpTgTpzzTNjlmtsglBjjttQQCgCCtlBj
113+
SRLRfdVfSVcfHdVVdSLdMHQjPtClsmcwNQltjwjCQQwm
114+
RShVLWWfWWGvsTZz
115+
vcdptvndNzrndjctrvcnvtTdbwwRTgwbHDFDTWgqWlWqwqbl
116+
ffVBmQPhshhfPmSfBPfChmmCWFWbDWFbWwwqRDbsgwWMbWFb
117+
SJJCBLZBhfvnJnpGtvRc
118+
HLMMHHpNqWHqFqppPWnshtsLhBnVDtthLLms
119+
JgmSRgCRGbgwGSbgJJjRRDntztrVhnsDrllllwhhzt
120+
bRRCCjgRvJQQdcdjjvRcQdgbZPZpqfqpHHMfNFqNTPWqQWmq
121+
PPwQTlFrLqrLQrPfPJrHtcjtSvdCNNctLCjNdc
122+
DGZMhmVRMGqVmVDnGMbBZhsjHNvjdstddjdjccSBSjds
123+
mqzVnWDmmGzRhqRbbWQQFwPQQTlzPFpTlPJJ
124+
RMmnMrZMlQQpGrQt
125+
gPPgcDBcjdgjBCBcQtNDNzzthltGphhz
126+
FSvPSSjFWFScSWdjWvbTwWJQZQVRsMTQVwTmVR
127+
PwlbMTDQDvMwttThPthhvhvvZzNLzNZjQCNNLWLCRZWQRzNW
128+
VpJHFpgfqdFqqHFGHVSdGmZZRnSsnLjNZCWmmszLSz
129+
drrJRGJVrcMBDwhDbcMh
130+
hghHTgbwHbDqHrgbbbSLzzFNnsVqNVBnLnfs
131+
jMlcMRRmGcRlZQMMJRJSPPmCFzBBzpfBfLfpFLszLNNFVCfz
132+
JlmGlZmvRMgvrgbrrSTw
133+
ZtTTHpprHtQtHtpqPmjVSScjVSjjSNqw
134+
nRvGWhRbnRGzvWCBGPjNdwcSwcnlJdmmSj
135+
vCbsmbWfRsRWWzsMWBQFFrDZpgpFHLgQLMgQ
136+
QlJBfZssjgZsQsDNbScdDZdNcvvF
137+
zrGrVVpVMWMwMVLMwqVWpRdNFSDcFNDFbSddqHldDdqd
138+
VLVtrWpMRCRLWGWMRwVGCVPfCPJnBTQsJlmjsfsPBQjC
139+
GQqpnnFWFcnWpBMhhSZRhQCCCfRQRD
140+
HsbcczlrjzflffLVfDlt
141+
jssvwsHPsjzWdMcgBnvqMB
142+
JMJdMptTbbtpJZhtTMZwJdNWQBPNBlwNBNQWHBCHHPlg
143+
rVqsvVmjrcCqCPsPNQgnsnQglW
144+
rVvzfqvLjFVDVcLjCqLmJFGbpJpRJTGMtbRpdGRG
145+
LrmwdZHlSlcVlSrrDWCzbtpjpgzjtD
146+
gBGgPTTBqPQTqnnPJhMTTCzzppnCvptpnCtzNpDntz
147+
qQPTTPshRRQqcgsflHZcsSLV
148+
smvdTvlPzslmVjMhJlbjrblJ
149+
cqFffFffcwFfpcDSjcnZwZWrQVDrQBhNbrrNBbWVbNhr
150+
nSpRZRjpcHqpCpqnqFRGmvPLtLGmCdCsGLLdtC
151+
PJPLPPHDdPvdnbctfcpt
152+
NRrGNjNzLjltppvpRSRS
153+
LzVWLjTWGLQqBgZWJWBBFg
154+
znzccGnswWrWNCpvvdTCzddC
155+
RfZlRDDDZflSBMhhhPSMMZpmpHHGNCGTmCJTmvmCvJGR
156+
GbBMhhbSMhMffDMZPggSGfhVWLwjsLttWtrjWscVLWnQWswn
157+
jwRzdZZhwhwHSQqpStJHhp
158+
GVGPBvNPvffpvtvp
159+
nsGGDVtFNGgGWjWlTwrwTmjwTR
160+
MQtmmMMmnHGGTmhw
161+
llqvqvvpqdvvrSfrpSfdfnhFSTMNDHFMNFFSGFwMHT
162+
JqvvRgpCfrzCpqqzdfRpRllWZZBQJbVVtMttsVWJbjPbcc
163+
zgqBczqBbBGjdHVgdDFd
164+
lNVhNNnLtZZZGWjdWrSW
165+
PCQhNflCtCwtJwhClMmVcRmpbPqTcmBqpm
166+
wWbqbTwVrQLqlMtrZtZffNfMfP
167+
vhjqqRpRvZsfssZN
168+
ccBjJBqGpRhDGbJldHlgLwddLd
169+
hVScjtgcchVhSgZJSchVwLbNLWnLNwwnwrbWNLgr
170+
BzMdBqzBQzZQPpfrsrbrNdNLsrRR
171+
zPMzmmGpmzGlFQPPmlZPzSVTSVJJcSlcDhTlvSCtjJ
172+
hzdwlqngZQvDfmzF
173+
vcRrcsVNpVQsFfBfPPQB
174+
HCHVWVcCpNMHWRjLwhvhggdjvggM
175+
LBHCTPzHHBcClwppwjjNNl
176+
JddZMRmmssVmvDvJddSJWVWBwpQvwfpwvwwfrrFNQfwjpl
177+
BsVMVZDVZssZhMhJqLzhzzHzPTPnLGqb
178+
bcnNQnBTvvvWTQTJhdHJzhSjpJJjStjd
179+
mMwqwVMMRwhBtjdSVBVl
180+
GfsrwCRmZBcZTvBf
181+
bBjQmmmqWdLqvLbWLtNJccNZZgCBCZgCTg
182+
phfpfzpHPDwfMwvVzlhlJJlggcZgZcRFFlCgZg
183+
zfhpMMDpVVzzhHhzzMMwfnMfSmQmbQvvWqWjmLSqdQmrqjjn
184+
ZzdcbGTwLZwPPwpMPWpjWPpWChBC
185+
nmznNRFHQrqQvqqmmMfWWWpMFjspWFMWjB
186+
zqRDSmDrmvnvntGccGdcTVtLTlVG
187+
nfnVscTcDzsZqmRtjtsqjJ
188+
wnnhWPWLBNwPLHdQdWdHPHLdJjqRRqrvjrmqFtvRqtQRqFjm
189+
bWhHdBBLdLnShWHcTVzCfCpVDTblpT
190+
WSjVFSVTSWvgvFwpgTTFsfdVclhNCfsHnHlHsCfV
191+
zRqLqZqZZQcdNltfHzsd
192+
ZqBqGLLRcjWWBvTT
193+
wwBqgZfbgbZsvWmfJrtFrdDttqdFdLct
194+
SNSSVTnnThnCSPPnzVztQJJQdLPtFcGLdFGDsD
195+
lSlszRVsRjmmfjfRRf
196+
NGzGWSLzMdQtcctbgWjt
197+
vqTnfVVHBffnCmHgMtrrrHrgtcrt
198+
vqCDVlFnnCnnBSzlspSzLSNMLL
199+
rwVlfVMRSTqTgRhT
200+
pppjLtpZjHFHNhsctSqDDVtnns
201+
HNjJLFBFHZZzWbVBZGfwdGrMfCCfGvmzlM
202+
zFzztqWnJttqqzJtdqbtqbPVMGcGZwgPGVwGQjwCCggMZQ
203+
hssLlrsSrBmBrZGSfgwgSwQCcj
204+
BmBBDBHLrlNhLNHrpsDvLJNtddczdRzzcTqJzzdWnc
205+
pLWcpGSscLQPDzLBgdbmdZHBHmZB
206+
lntfCfVMvtttqVqnZHHbbBZmwwwCdHhc
207+
qqRJFfRFRNlTzSSWWzSJpc
208+
DrphDfFrdGGjTTgTgCSV
209+
vbsMZPnPvqHMQvtZZPWBBVVBJjWSVTPjJC
210+
nMbnsRSQvvLRMsssQhdFrcwczLlDrrDzhz
211+
LLlDQlcLDqLSlCDRlRDCqTTzzgNzShSBdZGBFBBgNG
212+
nHnMwPPbrWwpmztdMtzFZZFtTN
213+
PJfbZmHrpJfZDRLlDlLcVsVJ
214+
wZwQsrrzQFQSrRSFbzDglcdCcdljjdlljcvslLhv
215+
VPqGJtqqfnJcCLFllFMGcd
216+
fNHPJWpmHfffqJHmwzgbrBDZrDbFRQ
217+
HggtSJtzrgltshlTsrzbzsgbFddfffDZwZRZZZGfGDRTNNZZ
218+
LnjWccmQBPWqmWPqMfFNdGBRCDFFSfDfRd
219+
WpMjWpMcWSjqqPjQLmvmjMgllsbgbtvsrrtvJgJHhrHl
220+
PMcMcBpztMztzPPhbSgGSvgfHD
221+
nsmsVQVZVQmTRmddrLgfFhfLgLDzgvffDhbF
222+
dwsjrQQrVwTmZRTzsTdBcjqlqWpcCCppcllltC
223+
DbVjbjwNMDTCVbhbTNDrVTTmzFGLFLHcLHzmcWFczLHwmH
224+
PPWsfBZngtZqZZnPgZnPqvmFmczgRHGmGSRRSSLGFF
225+
sntBlWPdnspnnPQZtnNNNMjhMNrVMjMThjpr
226+
rCrCWVvvWDnBWvDnWDMCMZTpThhGGhGRGqGqZmhZqV
227+
NNjQMzNzQjjwNmJNmZddpdTG
228+
QwtwLPcjPtQlHSSslzwHSlPQDfDWsggsvvBvDvnvgngCnvFM
229+
ZDCbvbDvvHbCGTWpZTtWWQnn
230+
hLqzLVhVwNwVfMnJrfqMzWrQddgmQQGdgpgQGmgjTj
231+
wlVNwJJfVRLPRnHRbFHRsP
232+
lLmvLGRCrmDwVPVsjmtBBQmt
233+
NSHWNbzSHWpSpfChqqJPnzBJsBPPJnQJ
234+
pWcHbNfWpgZcWbhbZSgchWpRdCZMMdGDFFrLwlwMRRZFdd
235+
PnNrFVZQHNDrmNQPflbhbfqbvhwbVfvq
236+
TCdTtpCtCWTBMtjTJMWtBMCLSfvbqqzqbljflwDLvLjLLf
237+
MCCGcpCJRWTTMGmPnDFNQQnDns
238+
FhSmttZmgLjJVMlVGllGjcrj
239+
NRNvNWNCdnNrBvWvwRdWvvvRCGcbVVQbMQGcGcVcMclzVVlG
240+
qwBsBWwnvdtHJJSrtHsr
241+
wnwPrnBBPgqRPjhgCRGCLvvbRZcJvCbb
242+
dWVdVdlMHtsTslMtzztFGGczvvGJzL
243+
fMflHpddJfNNVfNWWmDqQpwBgwnjPBQDjqBh
244+
WttGctsNCNrfwTMlBtlr
245+
HJLzLJJVnFjHbnbVjDHDdFqwwffTTfTGwrqwBBTT
246+
jgVgJSbnHjNWsWCSWWGG
247+
ssLfHLvrrfMMlBMRMfpd
248+
qbbhmGCCVDQhQQVzDDbqmhMBtDZdBZHlddpltpBpdlJd
249+
QhQbzqCGzVzSbqzLHjLgrcjvPSnnSL
250+
NGGZGsGFCGvCcnCcgnZWrPHjsJjHjTDjJHfrjHDP
251+
RzzQmwwmdRRwMqRQmZwtfrDPfTfrbjHqrDPTHr
252+
MBLphmLpSzdRlnWZCNcGLgLG
253+
LwPPHZLLWRMWMsHqTCjmTTjSTn
254+
lFpNNpzplbfphzNcQzVcpvzsnqTsggmnjfgqCDsnCDqsgS
255+
vFJJhQVhbcVddLtmWZJdmm
256+
GwMNMGBMRMGjdSGsDntglDrDGQ
257+
WTmPPzfmlQrsnQmg
258+
ZPTJVvllhBwvLvwRwj
259+
nlSvqqFqzfnbnvFwwsGHTBHgPfWsTrRPgG
260+
dMdjphVhhgdLVJhNRBGPRWWBBGPTTGHV
261+
thJgLpghLNLhNQMCtdMhSmFlQnzzwnbzlbqqSQFb
262+
ZJJLBWhJBNwJwLvgRgGRgbZqbHTbGT
263+
cCrfFFnzjmdrdrmmzsgSPSHSbHWPRgrgGR
264+
dmCFntnFctjfdVtttjtDVncfBDlNJJppwQMwNBNvvplppWNh
265+
GGNNNbNbqmsmTVbCDQQhDJQT
266+
rgPvdgMdPdBddvMcrMnvgcSwhClTTJCwClDTvLJJthTlth
267+
zBdWpnDBDmfFGRffzH
268+
WNNNWcDcdVHNQTNT
269+
lLvLctvrvvvPCpHLQQTZVQLTTHBV
270+
zltgpbPCrrmtlmrlhhbqcWMqDDMDFMfbGScc
271+
dzSHRCGZGdRQWQWtllWB
272+
mNmbLbbmwjsmsNjDmcPvpVHBVPQvWDWBBpvB
273+
jnmNNrLcnnjjHhSCdGMSfrfd
274+
mgGvfvJSmSSrbvScmGccTPCqNnRjlpNNfNjqwqlpNpfw
275+
zZLLQFFFtsFwWjjRqbbCsW
276+
hBBLBdFHddVrGbVc
277+
bJGchsCcHwbHfgvg
278+
qdlSSNqLPqlPQZDffgfZRZMghvZr
279+
PLtqtFTPNLlWlqtQqqQzBBmcnschGtjtnChmzC
280+
llNLDLzjDtCTVtClCDMHSlmwdmmdSmddwZSS
281+
gPJszvsBPbwSHZRQSJQJ
282+
bgFssFPcWhDjCzLcnNDD
283+
ZTGMwdhMwMJphZMJlNdVBCnncNPLBCCRPnCncn
284+
fWsqmfSsqvfFFFvmWjfSSsPLCwVPRnPRCmRnRRCVzRCV
285+
FQfQfvStwjtqsjvvQWFfWqWtlMDdGTJJGdMdhJtDMbllDZ
286+
DzZLpBDptpVPrrrFPqRmBj
287+
WsfCTTgMllCWJMlhslNsCFJrGqvmRPqmqZjGFjvmvm
288+
HfghcNghHhgNNfbDDZdcdpndDzpt
289+
RRBRdJfccVRdDJqdDrvwShwvztWJlWwSJn
290+
mPtCHPPmHbmHNZjjjQHbMSgrSWhWzWnnQwvzzrlrll
291+
tpFmjpmjFMCmppmVTVLFVfBqTqVDLd
292+
jtljZcTcVVtdggVmdczzzDPzvCsvRbDsDmvm
293+
MHHnnJMFMNpwSNprpMJrfsbPRRbWDGLbHLDRvzzssR
294+
rJFNvQfBSwQBwNwldZTqTtctQchthc
295+
WsWTWsfjgTJGSnTz
296+
RHNmvRLCpJclcNcvHpNcPBzgQgMnnGFnLFgPgnPF
297+
mHlcdbbccZcCCCNZZNcCWtthWbWqwwJsbDfthfwW
298+
vFFzppnHFrjmpljQhg
299+
JPGfPWVdwfPgQzVQlTrQrZ
300+
PwRJfGDBfCHMzRHNHMNR

Advent of Code/2022/Day 3/day3.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
import pandas as pd
2+
import string
3+
4+
5+
def parse_part1(file):
6+
first_compartment, second_compartment = [], []
7+
for line in file:
8+
first_compartment.append(line[: len(line) // 2])
9+
second_compartment.append(line[len(line) // 2:])
10+
return pd.DataFrame({'first_compartment': first_compartment, 'second_compartment': second_compartment})
11+
12+
13+
def parse_part2(file):
14+
lines = []
15+
for line in file:
16+
lines.append(line.strip('\n'))
17+
return pd.DataFrame({'first_rucksack': lines[0:: 3], 'second_rucksack': lines[1:: 3], 'third_rucksack': lines[2:: 3]})
18+
19+
20+
def part_1():
21+
path = './day3.in'
22+
23+
with open(path) as file:
24+
df = parse_part1(file)
25+
item_types = []
26+
first_compartment, second_compartment = df['first_compartment'], df['second_compartment']
27+
for first_item, second_item in zip(first_compartment, second_compartment):
28+
item_types.append(
29+
set(first_item).intersection(set(second_item)).pop())
30+
df['item_type'] = pd.Series(item_types)
31+
df['priority'] = [string.ascii_letters.find(item) + 1 for item in df['item_type']]
32+
print(f'Sum of the priorities of the item types is: {df["priority"].sum()}')
33+
34+
35+
def part_2():
36+
path = './day3.in'
37+
38+
with open(path) as file:
39+
df = parse_part2(file)
40+
badges = []
41+
first_rucksack, second_rucksack, third_rucksack = df[
42+
'first_rucksack'], df['second_rucksack'], df['third_rucksack']
43+
for first_item, second_item, third_item in zip(first_rucksack, second_rucksack, third_rucksack):
44+
badges.append(set(first_item).intersection(
45+
set(second_item)).intersection(set(third_item)).pop())
46+
df['badges'] = pd.Series(badges)
47+
df['priority'] = [string.ascii_letters.find(badge) + 1 for badge in df['badges']]
48+
print(f'Sum of the priorities of the item types is: {df["priority"].sum()}')
49+
50+
51+
if __name__ == '__main__':
52+
part_1()
53+
part_2()
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
vJrwpWtwJgWrhcsFMMfFFhFp
2+
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
3+
PmmdzqPrVvPwwTWBwg
4+
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
5+
ttgJtRGJQctTZtZT
6+
CrZsJsPPZsGzwwsLwLmpwMDw

0 commit comments

Comments
 (0)