mirror of
https://github.com/rjNemo/advent_of_code_2022
synced 2026-06-06 02:26:41 +00:00
day3 part 1
This commit is contained in:
parent
96e7b21aac
commit
b8d574b907
4 changed files with 383 additions and 0 deletions
48
day3/README.md
Normal file
48
day3/README.md
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Day 3: Rucksack Reorganization
|
||||
|
||||
One Elf has the important job of loading all the rucksacks with supplies for the jungle journey. Unfortunately, that
|
||||
Elf didn't quite follow the packing instructions, and so a few items now need to be rearranged.
|
||||
|
||||
Each rucksack has two large **compartments**. All items of a given type are meant to go into exactly one of the two
|
||||
compartments. The Elf that did the packing failed to follow this rule for exactly one item type per rucksack.
|
||||
|
||||
The Elves have made a list of all the items currently in each rucksack (your puzzle input), but they need your help
|
||||
finding the errors. Every item type is identified by a single lowercase or uppercase letter (that is, `a` and `A` refer to
|
||||
different types of items).
|
||||
|
||||
The list of items for each rucksack is given as characters all on a single line. A given rucksack always has the same
|
||||
number of items in each of its two compartments, so the first half of the characters represent items in the first
|
||||
compartment, while the second half of the characters represent items in the second compartment.
|
||||
|
||||
For example, suppose you have the following list of contents from six rucksacks:
|
||||
|
||||
```
|
||||
vJrwpWtwJgWrhcsFMMfFFhFp
|
||||
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
|
||||
PmmdzqPrVvPwwTWBwg
|
||||
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
|
||||
ttgJtRGJQctTZtZT
|
||||
CrZsJsPPZsGzwwsLwLmpwMDw
|
||||
```
|
||||
|
||||
- The first rucksack contains the items `vJrwpWtwJgWrhcsFMMfFFhFp`, which means its first compartment contains the items
|
||||
`vJrwpWtwJgWr`, while the second compartment contains the items `hcsFMMfFFhFp`. The only item type that appears in
|
||||
both
|
||||
compartments is lowercase **p**.
|
||||
- The second rucksack's compartments contain `jqHRNqRjqzjGDLGL` and `rsFMfFZSrLrFZsSL`. The only item type that appears
|
||||
in
|
||||
both compartments is uppercase **L**.
|
||||
- The third rucksack's compartments contain `PmmdzqPrV` and `vPwwTWBwg`; the only common item type is uppercase **P**.
|
||||
- The fourth rucksack's compartments only share item type **v**.
|
||||
- The fifth rucksack's compartments only share item type **t**.
|
||||
- The sixth rucksack's compartments only share item type **s**.
|
||||
|
||||
To help prioritize item rearrangement, every item type can be converted to a **priority**:
|
||||
|
||||
- Lowercase item types a through z have priorities 1 through 26.
|
||||
- Uppercase item types A through Z have priorities 27 through 52.
|
||||
In the above example, the priority of the item type that appears in both compartments of each rucksack is 16 (p), 38 (
|
||||
L), 42 (P), 22 (v), 20 (t), and 19 (s); the sum of these is `157`.
|
||||
|
||||
Find the item type that appears in both compartments of each rucksack. **What is the sum of the priorities of those item
|
||||
types?**
|
||||
0
day3/__init__.py
Normal file
0
day3/__init__.py
Normal file
300
day3/input.txt
Normal file
300
day3/input.txt
Normal file
|
|
@ -0,0 +1,300 @@
|
|||
DPstqDdrsqdDtqrFDJDDrmtsJHflSJCLgCphgHHgRHJCRRff
|
||||
BcBGcQzVBVZcvznTTTvZcGTpCRRRfRCggLflHlhhCZpZCj
|
||||
vGQnQvnzTzNTTbVnzGBqMqwqDLdPtMmbwqqLLM
|
||||
wLRFRqvFsFRjfrHddbdbjzdH
|
||||
lcsnSJPSSVVlGmGrHzbbrGNrdzbz
|
||||
mSmlnnPlmJmncVDSlSZSlmLBCvtwBvtLCqqswsDBCTWW
|
||||
pfqPrPgmmhvqdlsdWq
|
||||
nfjHLJfZcLbVtQWWtndhls
|
||||
CzJJFLzRzfDwrmggpC
|
||||
CWfllmlCDFlZZqMfmFBWmWLJVRLVwNNtRVGPpwtGpqbJ
|
||||
jHndndndcjhscnhHNtRbVtLbGpJbRRcb
|
||||
HSrvnQzQSMDlLzBCfg
|
||||
BQRVbgQQBJBbBtVBSSSRWMQbdNvvRPjZjCCdPLNZNNsNCCzd
|
||||
HwpFpnlGpGZWGvjzPd
|
||||
FTDmFrrwDpFMtmQVQQcWgc
|
||||
VhbPshVDPDFWhWsgDNMMbVtmBjwBffpwBntnmnqfnswt
|
||||
QzzGrTZZdrdlTcCLpRBnmBRRjBCqtptt
|
||||
rJdGlmLTJdJrvZDbSbDSWDNbFJgD
|
||||
qrcqTBHTcHgwWWdHRjdWBglBbGPpGvvPbszGzsbPpQfPLwPz
|
||||
nFVmjhMjFJCSJsQQPQLbLpzCPQ
|
||||
SnMSVVZSJMNMZNDVFtJtNRBdqBrWrRHWZTllrrjgHq
|
||||
ZqdqcrPqqrwnQqnrZqjVcqrQwwmNbzNzwbNLzvFbHLbNmBLF
|
||||
LCDsCsRTfLTDszzNbsbNNHbs
|
||||
gLfCgShfCgMPlPrVcqrQgn
|
||||
QSNSLDQDLfqqPwwBNLqgqJMMmmRRCTzHnCHhRzHmfCmh
|
||||
lGvdbdWdVvsVszpDhHmmlnMpTC
|
||||
ctbdtVsbbvvsbWZFdVQJqPtgLQBDBwBQPJwJ
|
||||
dggSSDCPddRWPnSSPWRDgdSrTDsDQDTzQGGTMbsMMVsQfTfV
|
||||
jmBvtFpBcBhhjljZHphztMsCbsTTCbzsqGqsfz
|
||||
hccpLmhFlcwCrPLrCPnL
|
||||
MMHZnGrCfJnfCPggSSGGSSSgLW
|
||||
qhFhRlDFDlqFsgdvJdWdDdcSvp
|
||||
wVlhqTbbRNFqswlVVRNbZfHCrntMBrTTZnJMCfnn
|
||||
sHGZscVGHJMtmRrqzRqqqTqt
|
||||
SjvvNgjLShWWhhSQNWqmrBzlRllTTgBqnRmq
|
||||
LNQWLfWhSQvLdCddWWPHMcbHHrJcDGFZCJssFM
|
||||
mSDjSVQbVGbmqDVbHmqqJTZzPHTHhhRJhwsRPcRJ
|
||||
tFfFFttFdsNntfpMMppJWwZTzJczJcZPzwWcdJ
|
||||
vNtgCrpgNptptgCCbbmjbSbvsVjSsjGG
|
||||
VCQlZJCTPRWsBsjTTT
|
||||
wvNrnbbvnhdNhLMfGsrGpRFpGpjp
|
||||
dwndHbHbbLqwwhNcLsqSHSCHJClQtJSttQDPSJ
|
||||
ZlrvrdvpGBBhlDrshdqJHRPHqPTJzRPPqw
|
||||
tcftfSgFFgcgLPmPmpnqFwJRHP
|
||||
pWLCcWNNNNttMNgZvlsvrBrsrjWDjB
|
||||
wgdCJgDMDwMCwDMCMJsJJfpffVpVfbfrrrrgjgllZp
|
||||
QFRhvttRthtQzzmpBWbWzWZSVpbSpl
|
||||
btRttRLttGNqvbFHLwCdDcMwnPPJDnDD
|
||||
VhmMNllLqGLJQNhRfZHgSPfgSPTqZj
|
||||
sBwDcwBtsdzvvHZRlPRjDZTgPZ
|
||||
pWvvBBcBCdzNLVQVWQlNlW
|
||||
NsSppvSjSPNBNLJJLh
|
||||
fCGtqQbZZGZQZTbtzbqbCZThddcMBddlJGhdlBMcddgLlJ
|
||||
zZFTqwLtTRFqTQwvmprnRVSsDrnvVR
|
||||
FttFTzzvlVHFzTjpbvzbFSDDdVGhdqLGWGJdVDDfsLqG
|
||||
cmBNCRnwsCcBPMfLLfJGcWhWqfdh
|
||||
BwPmZZMmZMCsnrwMrmbHHbjbSvSbjvrlHpzj
|
||||
sZQHCBFHQQQPGQCCHCHwsHFshhtSnnqjbRSSPngnhbRjqVPn
|
||||
mzLvmDvNNWvNvrzzrMTzJNjqndqbnSnnRgTdtjdbjhTt
|
||||
WzzWDlJLzLDvMWJJlMzmLJWcpHFQBpBgBHGQGBHfwwBfQQlG
|
||||
gdpFrdrmrDsqqswdtccgWWCMlChSbhqSlCzBlSqh
|
||||
TTvjrfjNJPnRQNTQjvNnCSWBVBVbClPSVSbSVhSh
|
||||
HRvnfTfvjjHZTDsmcHDsrDsdmp
|
||||
bFChjhbpbjqsntjtns
|
||||
vdWcfMHfddvrlNMNdWWTNgBqDngBBZBBQZshgSfgnD
|
||||
JlwrlrlhlcJWcWMwhWNVFpLzwPbbLRFPppVLzm
|
||||
DtBtgLvgcHzllsTwzSTg
|
||||
vhhjZrCrZdVdZVSwPMwwTTMGwT
|
||||
nmpfqrnZJbqBBvRc
|
||||
nMvSLvWSWPVPvWnSLShFLBjVbpNVGGbVQbbNcBcBBc
|
||||
sTzJsJszbbQbdQJb
|
||||
DsDrwTtsCTFhLQSShRwh
|
||||
RNFQhTQqHNNGRsNqQFNsHhFCwwPLwPqwzfPrrPBwpJSJJw
|
||||
vMMMblZjddlvWbjbBBfbwCrPPLJppwCL
|
||||
jDmvcDBlBdjVglgddmvDQRNFtFRGtQhstHNsGFHV
|
||||
rhLHmZnMrRsZSstZLLtZnhSCNbbmPJVcblTNNTlccpNTjJTj
|
||||
WFgGddGFFgFDddMblpJjlTJTPc
|
||||
QGWqBBfWgBqWwFwzMGvzDqSSrHnCHsrssCRZrfRhHLfH
|
||||
HHzcWqNPmZcqFHPZGBdMRBMDlllWpRDJMl
|
||||
tTgSvPhbMDJlbJQb
|
||||
SCTtvtSPftswjvPhTgffVqmGZLmqmCCcqZzZHFNznF
|
||||
QNpppRrdZvdgzpQZNpgRRgbSwmDDvFGGqwJSsvSGSqGG
|
||||
HchWBMcBVnnWcHPjHhWcjHTqJFDGMSSqDMwJJbGwSsGGSb
|
||||
tcCVcBjPjhnWlFrCFNZflQNr
|
||||
HsVMrqrPqvvgprSrLG
|
||||
THJWBJDwRFvBgGSzgF
|
||||
DmhfHnmQncMNVMqPqbcd
|
||||
SqZmMJqvHJBhHJLp
|
||||
wsgTVTSsPssjjFVrTrFlhLhCFlBBnHplHLLHfF
|
||||
zgggdwPrRrsrjjgRwVwdwdQTmvMvZqDZbWqqMSNWNbGQbGZN
|
||||
fBDBfLZnTLZVVmmDcQMDDV
|
||||
jPFtJFpHpJqfJFrptwrJdRWRWNpQVmQRMWNVVVNVvQ
|
||||
zHwJgtFrTlslfghf
|
||||
wMwTttCCTTSTfBmPzPVZnPZLVVtbnN
|
||||
ldRRRlRHggGcvcRbZsNzvBVWnnPBWv
|
||||
hdlJHgpcJccJhQdJrcrhwFMpDqCwCMBqjSqjqpTC
|
||||
fJfnwJJnnHJgJHTgjsjDccNjcbgNjm
|
||||
VdLqRRqGVqpRrPpppMBjDNmDctdsBlNjmZdZ
|
||||
PDQvPQSvpGDrTwfJzzfFnTnS
|
||||
MnHvnHHMRMzPTlDLPPRGcl
|
||||
dFnfhFVwhdBPBfGWlPcP
|
||||
JNrQFsnVtwsgvNzvmMjpzS
|
||||
BZVPFpNpcNZpmRRPpzcVNhLLnssDjjDGnqjjLDFDjq
|
||||
mMJbJvtJQQHlJDGCDnjvChDSsv
|
||||
MQwWJHdQwWrJltQrgfNPmfBcBrpBpZ
|
||||
ZWZqDsZZqWsWvWLPwPbpHjdtSbSjSCSPPSCp
|
||||
MFVNMLmFmNzcTTrFrLbjdjbpCdCSbTCShRSd
|
||||
czNzLrznlGNNrMzMwDlJwJWDwJwqJDvW
|
||||
GlgchGGVShlQcQfDhzZrNFnFNFNjFzNFcn
|
||||
dwCtpwHTtPTWpdFNfJJzRzvJNR
|
||||
tLBBmWHftBttPbLwCHWTsSSQVglqgMsMBDSMGlQS
|
||||
RDDDGhGfvPPTTPTThn
|
||||
ZFLMmjpCpfMZzFqmqsCmPjdVBlVBVnWBPNTVbnTV
|
||||
zHqJMCzLvftRQQHG
|
||||
nTcbnvPsvdvFzpczVZmMGg
|
||||
BCCJwSDqhQLJmMMpzGZVFVFB
|
||||
qhrwJwrJrrzJNqwWLsTTnlTlbnsvbstWsW
|
||||
vHRbqPJZvRPZhShJvTZllZtgzwlfBGBlsm
|
||||
VdQjVVCssQVrWrQmTBgBzglmgCBGml
|
||||
NnpQNpcFpNWshPRLsbSFsH
|
||||
cVGmVZVwVVMLdvcRttTdbB
|
||||
ppCQrwzHBtLrttLb
|
||||
hsFJQzFWCpCqjZGVwlhlPP
|
||||
HDGRzgWhgfzVWfRpspwRwbwStSwt
|
||||
ZBPPPmmmTMQMPcZrBmSptSbbQCwtlsNqCwjC
|
||||
TTLMMmZvPTrMZvFMmcmvrTccDDnfGHJgJhHhnhnLfVhSWDJz
|
||||
pNrpjzthZPnGrzzWbJLLLbbJZwgSvZCV
|
||||
MQsFFFDTfMNfRFfBFMdBdwLSvgbSTVCqTgVbbTLvwV
|
||||
BQlQDMFccQsNmWpPGhpcjr
|
||||
CTgGRCRglLlLTllL
|
||||
vMJmhPJcmPBMvhqPDnNNqlWnwDWqsRQs
|
||||
hcBfcJRPFfvvRvJZBrfMPZdpbSSGtSdtdgtzzSZzbV
|
||||
NQLzNzzJcrLrSgZSSGgZrR
|
||||
bTsjqHvcmTHvjgZGDvDpGZRfpg
|
||||
WqTVPbdnMlLJncQC
|
||||
hZLBrqLGLMbzLLBhfMMrnnNJlnNnlnJJNNdCJdzN
|
||||
TWTsWqvtvpTSgRHpVFdjgjCPdgJlCFCFnF
|
||||
swSTsTwpTVRmVRRRqMDMfqfDwLfbrhLr
|
||||
NTQHWNQWrQwSTDWlcPPBHZBZbPgZJZ
|
||||
nmfjCRCfRhndJcjBbcbcbg
|
||||
nsppRfssfzCnqgzTzrwTwQVTWM
|
||||
mFjQmDGmbbGjmChrCwdQBHCHWh
|
||||
qvZZnPvvnngMpnlqpMZnpsTgWHTRCWrVdVDBWRhHBrhHDHhd
|
||||
vqZgnnqgLvqlPllpnjGDjmNjNLfftftLFD
|
||||
rfGsjsMNnFMMFddMsttDMgLHGlmJLCPPmHHGmHPlmm
|
||||
vZcbhQbrRbVZPJLwPTgCLlgb
|
||||
hchzSBqzQvphnWnrjFdWMqff
|
||||
WmfPWfVsfqszRDqPqgpvHhvdwddGMmGghM
|
||||
QtTrtTcSBjtQCctStrTrzhpwjGvGHhngwMHGHvMv
|
||||
TtTQlQFcSSJlcccBbltQQTTRsPZDsWzRFzWFzPNfsssLPs
|
||||
QpNNMrjcNMccGNdvLBBlBsBjnsnF
|
||||
tTSqbbbqCtWWCTWSVTmmCJPwVwnwvFPnsPVnnPfddlvf
|
||||
HmhJTZWqHqCJJJltqpNGRgzZDcQNrgzDGM
|
||||
HcLVRhhTRsLRRVjslTscqNQmVNQQgQttqNwNZtmw
|
||||
nJdBJJhfFPSCbJBJBMbzFbFgmNmtgmvgNgnntNwZQQNNmw
|
||||
bMbPzJbzCBPrJfdfbBbdCrGHlLTTpWjsGhGTTRTRlc
|
||||
sJCCpQJQCrfCfnSCrT
|
||||
vmqgNggzgmZqmPShqBhThfhDhjDhhB
|
||||
RZNzHRzZSQwHwHVVWc
|
||||
jtVtvVHgvjJbHjjQPMZdCcwlMdNbdFlNlc
|
||||
WppSBDzGfBzTBqQWwCFMlwZMwMcZ
|
||||
zBfnqpRGnSSqTfqpTpSnnHQsjJgQvPJshHtHVh
|
||||
qJMRMcPPVzVhmsDWfhWT
|
||||
BglQBNlgZtQBHLHHBnTjWSWmFmwDmWjSsnmF
|
||||
BdHvgHBvBtZbTpJRPCdcdpGrGJ
|
||||
pcGcWGWlvQZpzmDbgFmz
|
||||
HqqnddDdddjzTTggjZgFtT
|
||||
sHqRwrRsJswLHrMLLRJdqNVVrGffPGWcvSSWlDfGfc
|
||||
lttTbgRvqvtQRhjLzGjLVh
|
||||
JJfrHfrdffZJQmZhLLZVVwFj
|
||||
sBjCfSNNTTqnCnqD
|
||||
qMtWjSrHftGfjqrJGMqzVzFmBBrzQQwzgBVQVQ
|
||||
LDChPbThbTcTpCTcnPPQPQzVPvvzQBBWgVBQ
|
||||
ZLspppLpdZZttdHttqdWMf
|
||||
htJcJhpMQQWjhNWdJQSCFCTvFBPCTDlMmDCFlM
|
||||
jjbbsfjwZbLGVVqHCFPvmvDmClTfmP
|
||||
zjVVRwZwnRJtnNQt
|
||||
PCPVSzLMMRqGwgMmHmQmDQ
|
||||
slrrbZZgsfcdsgdhrHFGQHQFwvfwFwDGTv
|
||||
NclhgpctrrNjllcZdcrpZnPPqzLLSSLqJLtJWCWzCn
|
||||
PBLSBPVBwpTVppfT
|
||||
lZCqQQtCQGPJJPtPHHwTwZTTZpwHsfRH
|
||||
mCtGFDqFGDGQjPGqjJMMlqPgdWgSSgBWWcWzLdgvMzgBMg
|
||||
cLBrfchhFBcnrgvqvPGvvwSS
|
||||
QpzpstDDZMwDZqwh
|
||||
WzpbWTjsbhpQtjThsjJFRNLnfLbfRLRBLlFB
|
||||
ngnWWqnfgqtfsrWftqsrFWPSdSSdRCTHRSwpRGTfGmSG
|
||||
VhJhVczJQcvbvvlhBpvlPdmlwHRTGHSRPTSCRGTd
|
||||
zVcBcMhzcVcvMJJJDpWrsqrtrWLWsgZZFtFD
|
||||
fbccrJlrffTwJDJTtBtB
|
||||
hRNNFddsgsFPLLRVVwthMCQTtBwrtT
|
||||
jrsPGLNjsqPlvGbZbcvScz
|
||||
HFPmmgQrQzFgrLVPPrLFPNDJNJzzcGbJTbsSzbGGNc
|
||||
MtvCMhJBdnMhwfhlwnfBfMDCDSjGbqDNGNGqGjDDjsDC
|
||||
wwnhhdtBBptwdlhlRntRldJFVWRFPmWZFmHRZZmFQPRWmm
|
||||
WrHNNTBNTTTBwHHcSTrBnSzJPFnpJfpLVfpDVdJLFJLFdD
|
||||
hRthQvhRQlQmDpfVJFdLlLLj
|
||||
hMZZbCMvgQgBTBGNGDcWbr
|
||||
HvQjMRMTzjsCQzHTCFfVVZLPVvfLfPVpZg
|
||||
GtlbBtSGlSbDdStrhSFCPVDgZgLLgPpPJWPF
|
||||
rmwSbcbcdbrbGljQjCzCCwnHRqQT
|
||||
bbgNSHPPgnmMMZtNcMpp
|
||||
VFzFDFVtCBFDCVFdMlhZMhdhmhmplwZL
|
||||
JVtBjGRFRttFCGDFGJJDQQgSgTWPPfSSfWbQnHvPWW
|
||||
NvdBpwNvGNFvpBGGBmLFblrtVTwDttlhtlblfQbQ
|
||||
SCMMsWCMSRZCqsmWcRWgRRsVtlrtrQbtQftThrQTQtqrtQ
|
||||
WRscMgZJJCJWzZgSWNLFdBNHGzpFGmBFFG
|
||||
qghqRVzhLNRLqzLhVztgQdLFdrccCnSpcZdSZcTS
|
||||
DwvmHDJDsmvDGmHbQBlslMDDCrTCnppTndrdBrFnFTSdCCnZ
|
||||
GGwJHlGwwvMHJljwwDMVtfhtWWhzqVPPjfQRqz
|
||||
BsDMPrqPzsDwwCLGmqjpjm
|
||||
VfFJQlVQcvfwJLJCJppLNp
|
||||
vfcSHCglCgbgbbbFvSlvQfPsrsZrPzZzDWWStPhtZPDP
|
||||
gjMsnFgbnllbjMfSZBHHtpHvvvFwhv
|
||||
DDRZDLdVCLNLJwBCShQHHwwBzv
|
||||
DNJNTLJRTqWmjWZnjrlmjW
|
||||
ZTSVSFZCLTnvzfzqvnNL
|
||||
PfPcJljfMpvtlnztvQtw
|
||||
PsJMMMWpGcgMHMfjRBThrgrTbBSBFdVSTF
|
||||
GccBRWjgtQqsTcVQcw
|
||||
JhJCMJHPLffMChlfLCLHMMrDQsQqDVQsqTDbVvGqDhhzqD
|
||||
dHGlfnCHlJrNmtdptggpmW
|
||||
wnDDSBCSBSDLzLLmHLrlwlmpTTqzGJJfpjfjNpfqbpbdpG
|
||||
MMRhFWWRvZPZRZQhFZMVhVSNqjqpNQffJjbjfbjdTJbp
|
||||
VMMsWcZRWgMPvRSrSHmsrrtwSHnr
|
||||
TQchPTgjBcNgPHhhThtNzQdzdsCmRDJnzCCmCdCm
|
||||
vllVwrfvbSBVFSbVGwlrFGlqRCDzRJCJdzvJRzsdLDDLsdCm
|
||||
VrMrqSWbfqWbBhhpWjNTttpjjP
|
||||
rsfvSHHcvwrMPtcQZgnDhGdvJzngLzzJLJ
|
||||
lWmVlfbCCNFCpBCmTpFFJgzhDLGhmRGhLhmGdgGR
|
||||
pNBfflVTNpfWTWbWWbjNVqBsscqsqrZSwMwZrMPZSZrZrs
|
||||
PJPHPJmhhHhlHPQgCndngTbWnqCWDGTD
|
||||
tSwccFpFqwMcFbGFWvnnWvCW
|
||||
MwLwLMSwpNBBtctSctfhZHJQhhqmlRlZRNPH
|
||||
GNzdZhVGvtGZVVgGgtfHHWhpLPPpLWpWWnHf
|
||||
RjwqRcDTvCrWJWWnlLnnqn
|
||||
DbrDDwwBwjjsrbDTRTBmwgZmgGgmdttvQvQFSQGFtg
|
||||
jRgcZRfhmHfZjPZRgHffLFTzzddBTBBFzLDZzBTF
|
||||
VtsJwSbcStlwMqbtwbvWBWddGGdrFDDWJWrzTT
|
||||
VwsQQvlbVbVlbNllVwbMmmpnjpfChfQpnhfcCCnH
|
||||
dFnFjWjTQTFzFWPWPgqhRQRqgVhRqfRqQJ
|
||||
bStrbpmNGHSrBDmrNBtHBhMVLLqLqVVglrllPVLgPg
|
||||
tSsbBDmBbbGmmSHDbtmHbtNCjnzscZccjnPcTcdzWcvjswFz
|
||||
lFCjDhqggMlDvMhFDgqFFzHHwHwwwTpLBwmwqmmpBpwT
|
||||
GPdPnStGncQGNStZPpBmVZmRmfzTRmVVfL
|
||||
tWtNdPWzsbtMDCbrCbrjrv
|
||||
BJHMgLlcMTBLCtbqmMDGppmmMM
|
||||
ZFPsrrdvwrNvrdNZsvhrrzzRSmJRbJSmbztsmpRSSm
|
||||
NwhfPZFNdFQPVQdvZFNgjglJLTCQngQWllBcTT
|
||||
jGlQQvQvpRQRGfnPLfcfGTnP
|
||||
BMqmdBVBwmFdVMFZdcTPqgLnnggTTLSzPS
|
||||
FVtMMVcbZVrcZMQCHjHWJJCJDvrW
|
||||
rPPwVwbpRbbVlllTLCTRqTLL
|
||||
dNdZssBBCBszHsjhDTQgqLDvlTgDZgll
|
||||
dSsCNNHMdsdWWWmpGfmPFS
|
||||
rzCLrsjgZjwcwSZc
|
||||
wNBNRJpRltHNWWRHBlGlJtRcTZSVBmZDVqZTfBVVTDTVTD
|
||||
NWPtGJPNGWHvpvtwvWgzQvdvQQzhnsnCvCLM
|
||||
HHbJhzddMPbPgnDWbZ
|
||||
BLnjLNvBrrcvvvwnwLrnqrgpPRgRNCWgZDPPpDgRpRWp
|
||||
jtsBqScStfJQnnVF
|
||||
QVFSVgQFZZQlQqQSlgQpRppSbRTSTppJJbRpLb
|
||||
cGwCDwjrnrGvzBzGnwwvDBjnpLbsLTTqRPbsJPMJMWpPns
|
||||
tcGzrCdtGdQmVZqVNQ
|
||||
RtTRhncVMTVccShRTctLdfPdJpLPqJhZphHpJs
|
||||
BzssCmFNWWqWwqwPLH
|
||||
svzvvsmmFBmsggrGlGMVSMtMRRncSQScRRRl
|
||||
rmmqrQQwLbbGrrGr
|
||||
cNJzzzWtWmLCGGbLWWbv
|
||||
cVtMppchzMBVMcNJcMsRwqZFMlgmggmRgg
|
||||
mQsQBHFMrbddbRqH
|
||||
NzhcQNfNNtzvWwZdSrgbrprPrwLbgb
|
||||
zcJVhTtNNcvcfVZmBmQMGMMljTCmlB
|
||||
FlldqjSlCgfvPFfvFF
|
||||
rbnDtVBMbprTsbVVcTDTrpMcmNwgHPgghTmNfLwvfPNLwhdT
|
||||
drMppdnbbtQDBtbnsBbcrrtbSqSSRCjlQZWllllSRlWRGCCC
|
||||
nqdCsqbbwdsrHFVJHcwFTc
|
||||
jPPjtWjPWgRltRLsBRrNpHFDHVFWVVJNNHrD
|
||||
fgllPGQjBffLjtzSsqvbSSzGvnhS
|
||||
zsVBzMfHHnzlwwVlqcJJFT
|
||||
ZzRLvLDzQzTmlWlqWRWF
|
||||
GbQQvpGvSSpjdQjSQZpQZGLfrgBCsHzrdtCsnfCBHsBgdH
|
||||
zBLbLWzqqwLMnMZTnHlnsHTvFlFHNT
|
||||
fjhdcrjjdVdrGSmmdfccGclPvlvPTlGHTFgNvNgqFFvg
|
||||
pmmcrcRrjSVJchqVccjpRwZMDwCJQBbLDCCbwBWLzL
|
||||
TDMBgBgLlcjBfMfcVJVmGnnJjvPVCPVv
|
||||
zzptqHstJqFzzdJJZNvNpvNpnNvGnNZm
|
||||
dHszrWQhdzHQqdztwQBLSfglfDbfJlJTLg
|
||||
VTmvrldtGGwmlvmGDHlLnFDCCplFQHLH
|
||||
ssgjzSzzJCQSSFVVQF
|
||||
WsRWhgVqRtfvwcddhc
|
||||
bdlDwznhnNlffMcPTPfzzQ
|
||||
srCRGRrZCmVTBfBBfTQcZb
|
||||
brSrrGvRVvWmRsrHrWSbjNJwdDFhnNlwtlnSdnhN
|
||||
QQqqRfdQQSdjgPmZfBmmPgRhphphJtLmJhTJJhVbTtLhTb
|
||||
vvlNGzDDDcslcsGDlWHtCFVpcCbThFTtbJFtCh
|
||||
DrMGlzMVwNGWsWMHDMvlzlMfZdQdQPZfSZRfdrPBfqRZgj
|
||||
qVHfHNJCHVvvFFbfFlHHnCQQDhLnhhhPZrZnPZPn
|
||||
mSMszWRMQmhqrnZL
|
||||
GjtzjSSdRGSjsRtdRMttgGgsqqFNfFcGVvVVvlbHFFGFVFwb
|
||||
35
day3/main.py
Normal file
35
day3/main.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
from string import ascii_letters
|
||||
|
||||
test_dataset = [
|
||||
"vJrwpWtwJgWrhcsFMMfFFhFp",
|
||||
"jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL",
|
||||
"PmmdzqPrVvPwwTWBwg",
|
||||
"wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn",
|
||||
"ttgJtRGJQctTZtZT",
|
||||
"CrZsJsPPZsGzwwsLwLmpwMDw",
|
||||
]
|
||||
|
||||
|
||||
def priority_shared_items_sum_1(data: list[str]) -> int:
|
||||
return sum(process(line) for line in data)
|
||||
|
||||
|
||||
def process(rucksack: str) -> int:
|
||||
size = len(rucksack)
|
||||
a = rucksack[: size // 2]
|
||||
b = rucksack[size // 2 :]
|
||||
a = set(a)
|
||||
b = set(b)
|
||||
item = a.intersection(b)
|
||||
return ascii_letters.index(item.pop()) + 1
|
||||
|
||||
|
||||
def read_data() -> list[str]:
|
||||
with open("./input.txt", "r") as f:
|
||||
return [line.strip() for line in f.readlines()]
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
dataset = read_data()
|
||||
res = priority_shared_items_sum_1(dataset)
|
||||
assert res == 157, f"{res} is not the right value"
|
||||
Loading…
Reference in a new issue