From 2e029f2b8f834d06234287496dda17b73a7c267e Mon Sep 17 00:00:00 2001 From: Gabriel Augendre Date: Sat, 3 Dec 2022 09:26:37 +0100 Subject: [PATCH] Solve day3 part 1 --- 2022/day03_rucksack.py | 50 +++++++ 2022/inputs/day03 | 300 ++++++++++++++++++++++++++++++++++++++++ 2022/inputs/day03-test1 | 6 + 3 files changed, 356 insertions(+) create mode 100644 2022/day03_rucksack.py create mode 100644 2022/inputs/day03 create mode 100644 2022/inputs/day03-test1 diff --git a/2022/day03_rucksack.py b/2022/day03_rucksack.py new file mode 100644 index 0000000..e7187a3 --- /dev/null +++ b/2022/day03_rucksack.py @@ -0,0 +1,50 @@ +from typing import List, Tuple +import string + + +def main(filename: str, expected_part_1: int = None, expected_part_2: int = None): + print(f"\n+ Running on {filename}") + with open(filename) as f: + data = f.read().strip().split("\n") + + data = parse_data(data) + solution_part_1 = solve_part_1(data) + + print(f"1. Found {solution_part_1}") + if expected_part_1: + assert expected_part_1 == solution_part_1 + + solution_part_2 = solve_part_2(data) + print(f"2. Found {solution_part_2}") + if expected_part_2: + assert expected_part_2 == solution_part_2 + + +DataType = List[Tuple[str, str]] + + +def parse_data(data: List[str]) -> DataType: + sacks = [] + for line in data: + stop = int(len(line) /2) + halves = (line[:stop], line[stop:]) + sacks.append(halves) + return sacks + + +def solve_part_1(data: DataType) -> int: + total = 0 + for halves in data: + first_half, second_half = set(halves[0]), set(halves[1]) + common_letter = first_half.intersection(second_half).pop() + total += string.ascii_letters.index(common_letter) + 1 + return total + + +def solve_part_2(data: DataType) -> int: + return 0 + + +if __name__ == "__main__": + main("inputs/day03-test1", expected_part_1=157) + main("inputs/day03", expected_part_1=7716) diff --git a/2022/inputs/day03 b/2022/inputs/day03 new file mode 100644 index 0000000..1524f4b --- /dev/null +++ b/2022/inputs/day03 @@ -0,0 +1,300 @@ +ZTmtZvZLTFNLMQMNRvZncdcHwcScJvcdHnVfwV +zqjqrzqjCqrjtqWhqChqrznhcfdfVnVSVgcffcgJcSgd +rtDGpzjjqjlrGsWqBWFRsbTPFQMTbRNRFmbs +FFlnlnVlmQqcBVhBRrSrGSwVdRJbztSt +NPPNsffWfNztRZSJNG +WpgpTTHDpgTDDpMLPGgMHslmBmmHcBQnFmcqhmnjlqQm +VlVNLlPQhtnDRPnP +QgqTffzZqgvgzWmqqZmGcDthtRFvnnFnhJtJJDDt +WGTBzSqBQTQmZBWHswpNbswLbSNCNl +PFzFQDdLjMzzQDhnDNmwZmqwRsmRRmMVNM +GtSbbtlttvvtBvtHBmqqNqVVwsVgCmRw +brlvctHfrlrqvGvcTpjDdFnLDhdfjLhQpn +fTqzgFrcmzTrTNgMzFzTrgtbMtVMVPSLVbvSStRttPVV +lsHnlQhplQpsHhlDJsswNwZPZZVNwvnSZSVvVS +BJpsGWhWQQHdGHlpWpfgrmqgNBmTTBqzTrzr +PLPPrDNHDBnrWNBmjDmjbqqgzjgjQC +GJpFwpvFFsJpwvwwGwJZJRptzdQSSZTmCjTQmTSQjjZSggQQ +ffwGGtJGCfLcNMNNfNLW +nlTzllGwlQHHGMSrrhQLcvbcghgcvL +fFNpttBRFFRNtJJnfNWmqbhhZrZrcjgpvLrvrvcvbr +JBftFFsVRWtNWRsmWtRfftGHGPDDCnTDHSCwzwVnwGSw +LsrZLbLmPSTZtPcc +zpnpljpdwhRpfNLlPWPtTPcnMWPcctTV +qlhNNjldqdpgqdfhjpphdsgmmrDBBJJQgHrmDHLQJb +ndDrsBbpqspHCjzVBCHjMj +LWFcQFQtVVdcCMHC +RLthwTWLTSLwTllRLLlLNlPpPGfrGnqDdGqsZqsZsZhb +jHnJLJrcBbrRHJpnLBBjdHbjfgvGwstwWwdsWWshfhFzFfhv +PZDQMNTMQwtgvGTGhf +lqlPPQZQVSQCPSCPDmLppjqRqHngLHjRgLnL +MfQrhdzNMfMPsNNmPmqPLCLCVLBnbP +WVtcVvJJVjvFZZmgGjnjLBjmnnHB +FFtcZRpWJcSDTwlVMhMDwrrDzM +bSMbrQGZwwqbrbGMdTQGMwQdfFBLDLHLHssDgsHHBJDsFfwL +lpPPCccvVPvccPzcWLDJFJBsBzJJHsqHjg +tnqlPlVlNvNZZSSrGGZb +NlBBBBBwmwcMgLwLVVLLLscHdnMDdbHJCbdvJbPdDDJHvn +ZRWQWSfGhtSjqZhffZhhRjtdvPFHvCJbFdCFFDdHJdPb +fpqGhQWWZRhfqRSqrpGllLcVLmscgrLwBmgCzN +wHHHwDNCzZwzZfpzwsswzfzvnvnMDMgMhMGGFGRVdMnvcF +mLtttqTPBtSJTSBQWlmcMvVdclnvhFggdGhRdn +QBLPSLQQWmLtTBtBSjZfsbwbHzpjGzHfpzzw +zDPBqBPqwzzsqlTzzPzqjttNbCPJVtPCbrvjvCZP +MFhMhGfFfGpWWpHhFfRpHjVNbDbJjVMjrVvVNtMtbt +gfRSmpggSFRgfGRphFGgfgBSBTqzSsdlTLqdsnsDBqLw +QTTdWZZZTrhCZrjhVt +SBJJNRRvvRpwwspNSpTPjCMVhhtCjGThjBjB +fJJpvRRwNRSwvzRzRvzSgSRNqFTFDbFmqncQTbdFfnbDQnLW +wSjwwjWhbhhjWjdqSVpqSndvMdmM +NTvPBrZgPPHDFrFHGvZHRBqVBpCQVRRdmpRppdqM +TgDHZPsNTWbbwsjtvw +HVRPRwJVppQNpGmvMvmqqq +WcttbWsWsdDdbFDSSWclZGvFLMvfvjfzNvLGzLmfqv +tglcmSldWlBQBThRQBhg +LDGGfPFLGsfFnGLfMzfJVccNzmcmwm +qggSRgtjgCRtdtNZCJMCcZwTZVcm +RBbHbbRRnLBDDrvN +pThhMtMtTsWspWTnGjpsVHPdjdjvHdgVvLDVVSjd +JQNrrwCFrSRLRVLnSN +JQcJFCfcnfQmrbblQqlthGqzpZpGTBMWTMqtst +DzVmzDDgsNdHHLGJhJppPPllqSgbql +jrBWjcQMCRchPShwSblpbW +ZjRrSCtnnrtBQTcrSZmGtGFFNDHmHVVmVtzz +GSbGbrTGRRScMlVFjfbqqjdF +tvDmZhtNtHDttBhCmHDJHNwlpjslMwfflvpqldsFpMlf +HdBhLDhJDLWWLDCSQGcrQPGccLTGcQ +tNzrCdJBrrtQdtgQdlQQtrnMZhMTqzHqqTFZZFqTHFMV +bwbsRDvfwfsfcfSFqMmqDqFVNMNVVH +PRvfbSjNvPWPlLllLJ +MjMRRNRMjZtGVGpBCMMCDV +vwfhFzhvcJQQwJlQSddzQwFWGqcDpCDqBqDTcGZTTVTCWG +dvFJzrfZJhddLNLPHsrtRbPr +BmbsFNBhszGgGtGl +MSHVwdSwZflGlcqqpM +QvwZCnnnSvZdCSWrNmDlPPBPDhPmjW +MDwpRzRwMzMsdVSjdMWWMQdW +gmlftnDtHnHHVWSWBjWjWgvW +HbtrhbbGRNDpbCDz +cjVGqQqVqBFhDtvB +ZnTTfTffZZmDhBtJZG +fNzbpzlHTlgHNzlRTlRNbHrWwrCwWSSdQddNjwVcjGSd +WWrPMhwhnjpSLCpDlSSW +sNGBGdmTbZNGsmbstNLZGZDBRSlqSRCfRSCqRRDDqCqp +NvvcGtsLdTNZmLTmdJPcnnMFjFMcrVJhMF +wMRQMSQZHznRsqRbWp +ddgDDhfDrrDdjthHmdHrzpbVCVWFpfVqCWpWqpFs +hdvNdHtjMLJZvJwM +nWzZtWzHzZWgQHMNLDMDfDBfQbdD +MCPmRGGhqdmNjbDN +FRPlMlRChCvFggWZsHsZHn +ZGhhjdgwgcZHsPnRnSnbWscn +tltlfMQQQftDFJpMQJsWJWJsnWBnRSBbrBWP +lfLDpQMFMNfLjGjPPgZzwh +HcmvWcqnHLLPDzPPHM +MGGSfdJRdCglfrLjrjrLzLPzlF +CsgRgfwgdCwhsssJBBwvcnQnQNMvQtQm +nrVbwgnSTSgSnrZpjpWWqmWNHlqqpV +BcBPhSdsDlHNtNlJNP +RLFCQLQRRsBDDcRdGDddhCRDfwzvSCnzrbfrMfMgznwwfbZv +HJLzLNwBNzNJLzBJztRGzQVnDgwsjbgwssZwnDZbDQ +PhvlSvvPfMRlDbDsggbSjQSg +mFfhMlMrfchvPPpFTPvMvPzLBHWRHJNtzJGzzHpzBtCC +FLsgSLzLswdFgLBbWZnJDWHcmZnnBjHM +rpbrrqfqpvCbqqQQvvpClblRDHmjmmjJJZZnWMJmmJmmcRMc +qTppQvCfhzSVVTzbdL +ThTJtlqfDrDtffwqRCFCCnLwdnmpzRdF +WPQSSFsGMgQZWvFQgZgZQcCdmmzLMLCpNzCCddmLzdzm +cvVPGPQQGsZsgGPjVFccbHhThJHhDqfhDDjHqDrr +CgnCCnPMnMtGHDbMFQ +zLpwpRTwwRwhRchHwmqmGvvGbqmTmNQqvq +sHdhzlwrRVrdLzRrprrfjgfjVBnBCfSBZZgPfJ +SPMdWwWPrZwdrrWrSPLFDfgbQDfwDFfFglDQ +qLGBtGLpjzqmvQbvvpDvfFpR +jhLqqHBLGjtLqSZCssSTZZMshP +MhJCpPDpRRFRzQQNNqbcZjNZmVhjNm +LLSlLnGDmNqLbNjb +sfBngrBSTTSnSGHlTsHBGsBpFFdRdQPDCFPWRMzzdQWM +ZQtmgtWfPcgPgcsb +pvMhFThpHVTvPbcFcFJLJDsd +MTVHchVVHjHHTcpjMVBjjnQnGqQZnlqBmrWQQBffQQ +HfcRNJpJfhCmpGSqqGNjsjBnQl +tTdPwwtLTrrTVPSnQsbGPsnnlFllFQ +VvvTSTwWMrSZVwwrrmRmczJchHcHCZhRzD +wfRwhmLRnvrHqHhV +bJlBHlWlHMBPJzDlzMMJJSBlFnrGVrqspGGvpVGPVpGsVqvp +DWdStDMztCCHgZCtmZ +MHdsznVDDfcjcjDcdDjmMSCQwQpCpFCvqSZQqFzQpQ +lhJnLJJnTNrWTRqvqqPrFwZvwqQp +NghhtJBtnWLRTNjmcMDtjdsMfGDH +jgsvPffVmHfDqPSrNwnQwnwNhSvw +PZbGbCdcGdRCGtntQLQQLLwtpLNw +RbcPFBRFcdZBBJDBmTHjsD +dTTFJdzhmmmQpzVz +jtNLcctGGjtfrnVMsNQNQVVWnv +GcrcrfLtDggLftDFhZFdJFHJBVFBgZ +TTbqTgqCqZCrwmhQnnmrgh +MhpfsMLhfmrznLrQrF +RsStRMtjpHMfDtWsWsNDppsqlZqBlhNlbcNdTPClPqcvBP +lRhZPgnpRGZlSrmsLSvSzLVl +wwHdHCfDQCJHdwdDMdHCcDsLmNVvzVsWrcVNcVzLbrLz +dMCCwCtJdwDQJMtjhnvhpPhRZBhR +pBqMZfDffmBnvnNmPt +rhwLHCChrLPCMNWMCNmW +GSMVRSVwHLMRJDQJTZlJZR +sfstzPGRRBSngMfQLNNqgWLQLZZNgq +scVDjjjCDTVhHlDhHdvvjwjHrZmWQmJmrJJWqNqLJbrcQqZq +VvHlVHldTjvhpVplhVThhwjlPFSzPfGzpGBnsRffRRBPPGGF +WNFNfnWTSLSJTnWShTvVZCnvrdPrZvddVCrt +QwsMjppcpHCPdHsvPZ +lcwMGgpcGbzQpMgQwbDjDQZSJTRfShffWNJSSNFFbhSb +JDNgTgqDTggQbQGbZDWbJmVJrPVfPjlPfPwlljJC +FZzHFSznZZtptHzcSmCVrwfPVcwwVrCcdm +nMSStvnZFSHpLLtBtMzHnMWQvNhgDgGNRGNhgqRWTgqg +SJcrhvbBLBLrDpllvnwHQRnllHnQ +ffsjfMMZfVdCCgCfgTzmzslRtwFwFtTnqqHTJRQnqRqq +CVPgmdggVjCJSrhrbrPrrSLW +LPtcLtgddLMRRCMRpTBRrZnppvvGRvBw +WNNJjDjqSjJSqWqzNqzlSlBTGGFvrppSrwTFpn +qbNDWNNHbJqVtctwVmsfLCLP +FvSSLMqgvVSQjQfgwpwWpj +BthszRPRRNbNtzmHRbHNRNPfwJGcsswWQpffJpfsJcQFwJ +bBtzPmRrbBRHtNCzPhqdCLFMLSSvdnvCTnML +VPHWJPDjVLDDjDSFDJhgdnNGdbblzTzNjlnNbl +ZprsRZMQwwmGZsvtQZgTfggqnbfdTzrbqlTd +GZMtsscmsRZswwBQHBhDDJJPPCPWSWCJ +mNDNNmmVMSVgGgGGqsqGLhQqsLGhLq +nZBTZpJPhCpnnrsqbbcfczJfFccz +HpBZZRPRHjnPPjrHnRtCZnBdShDVlMDNDgVmtmDdVDWSdN +tBftztmztGBBCBSGHBmhvHHcchbshhThpbLJHJ +wwzMrrMnQdldVdMvJTcLNnphphbLJv +ZzwPVrWQlwrdStGGCWqDSSGW +QwfrQPvhwPfzQrvWWpQpvVGGTDGsjbgNNcbfsGTsDFgG +CtddSdZMRRdnJhRnHtZtlRMbGGDjDgggjNTZDNgTGFgGjc +mdmdCnHhVWmLmwwL +zLcWSWFcPJLWrWLSZrJLjVjHtjVsrdtstHdtVQgg +nChlwwnmhlCNqhhjHMgDjVVdwMjdtd +CNnBmNNThhhdhCdlBGGlGvNpcJbJLSbcZzcFJzpJTWPbzc +LdPZTPVpLCVTtCNsNsfFnlDC +SMwqcqcWQMbMhWQzBnsNfsFwrnnNNlrs +WMMWhvQRNNNjvLgZ +DWFGzrtfsZHZZMLt +pNwNzNCNTpppmnvNMTLVjHLBLLjMRTLH +PPdlPmJJNNClDdcdDDfWhzrW +nSJVSHQQnwLThnhrML +ddsjfRdGZjmGjRTwwTZhwrMwWwtb +qCdfRdMmgssPfjsdjdPspBzQpScSSCBpzNBQzcQz +fJnmRMJrlrmRmTRmbqssWVdqNVQdswdNNb +GZggFHGhHHgHSFvtHPPPsfwgwNsVqjqNpNjNNssN +PPSPDDBPBmBMlLfmLr +BdqdCBqqCVPVTZBrlJcTcTJTcfcbwwmcgv +WjGGLzLMhpWQmRGhpHfbhcDhHHHhgcsbJD +tQzSGjWRzWBntntrZmVB +clfLQLgfzfTLDMwNrNrrNDGCGG +tmbpFtBvvmvdQQdFQwMJCG +SnbtnqnSbnQQsBqzgLgVsLZTLTPfVg +QnQBQQBVzqqzpmfgBpnqSDFPjhhWsFVhlsFFsDstFs +MGGrTHcvRTTrrrCDpjvWtFPlFlsvjp +bZbpTpJJBBQmBmJf +dNVgDdVtPcNPhgTLPLpTPlnTHHRn +WrvjvwjWwfwWjGJsrwBjQJjTQLbnSTTmpTRQSTClHTbLmn +JqWWGvBJBwGJfJJGvwqZZddFtDFhgDqZhHNM +VwJcNgbfvfJbfcmGLZfPhZLfZGTDhP +CnnrlBlprsBnzQFntnZLqDhZZqThWGtWWSPL +FllFdCjzlsCzjJNJGGJwHHVg +fTbVBmNJCJRVbTmbfJFHsDjQHDHQjnQRsvDn +cLWcrGtttddMPhrPhPtPrtzsnSQQBvHjFpFSpDHsMjnvjD +PrPgPdhGWLrrqgdqcVCffbNblBwfVmwqwC +gmBfbmlbBDqrdfrDcJ +PwVWrQphQWWhQsJFcMPqzDdcJq +QWCSSHpSQWCttQpCRCHNSlZBtrmBZTjvGgZjmBZjBn +JrnhMPvtVtPVHJGrBrQwTmQmRGGB +pSSZCFClCbbSLbljZlSlFFszzBwcZNwTzQNDmBwGTBNTBz +ldsCCjpFjCqdLgsFjpsLFQgtnfqtJvnMtnvhWnHHMnnVWV +hzNHzHjWNzwHjjhprpGvGgvGvvpv +PLBVVRPDLdrgCdMrdrdC +FmBTqTmLPrsFqTBDcTTVtNNJztqWQNQtWWtJqNNz +fFffFvFBgHQWHdvfGglBWbqbPSSbSwVntPhZwwbS +jJCMzNMCjNCLNMjjphPSPqhbqnwPZLSqZh +rNpJJDzpcNMzzdBnGcQTccBvgv +FRFMwsrzVtwstgbCHHJJPgNb +hfZGhZDnnTTHTCCNzJjH +hppDvznmZphZQVFQwFVWlRqFls +jrjrgdHdFBZsBlcCGghWNgpgbCCp +QwJJqQQMLwPTwLMMwzvzwwzhCWbvcNcCChWpchWbNGfFff +qqFQJTmwJSPjZsrlnBjdHm +QfffRppWfHpQSrWVpSGmGMMccSjBjmmGmc +qdzLvbwzwdsWwnFdBBcBhMjMDvBBcBhc +bPdZPqddqzFsZVRptZZQHVWNpN +BzBQQHNjTSzzJDDFZFgJDJ +qLvCnLpfCpqCnLJhntRglFncDrGrllmZFZlDrc +JpqvfhRhLddfpbbtsdJWjHSwHHTNSQNPTVHQTb +qVQCCVlQZWgHZMqgqWlrtScFwrmtmcJqSSsSJS +MzdnddpNLzhRpzbzNPPBbPScjcnmrwSFjSjSJFtrwjcF +ddTzRMPLdLbvhBRdLWGQClVVCWQZQDTGGf +DHHTsldDNdPnVDCRDCNHllHwcMpprSMpRmphhRWhrhmzSS +qJLBqQLvJLQgftgPjJrhrMMWSmWMmMrrSqrc +FjfFftgLBjJPBLQZGvvZtNClnTTNGCdHTbCCNsnslH +jHHNsNqhjsShsshdRRCDMfMbCWHBrGGC +TJQFmnpgmTpBDCgCMCDZCGDC +FwpQzwQTmVvwTJmFJzTcQSdhBNztNPNjSlqLhBNhSh +vBCfSDcRMfRcRHSRRZZtPwrWWNtdSmrNVGSdwm +gbLnTzqTbjhGqFzgWrtttQtrPQTtNPmP +zbhjzglgzzlBGcsflsCl +jNHDNNHjVGVDNQFDTQSFZzDQTd +vvLwhbnpvPPgClwnfFTmTZQgffFFtTfc +LrhrLvwrnJvhCHVVRZNMjsRJVB +ShfcBWfvdhhJBBVwCJjHTRNwRVNC +qQzlDqMDDDslPqGVLTNZVpPwTRZZpV +bgbDbsqzsDTcfrgFFdgg +vlRHvvHwvMMMTTlvjmRtBjSJmSnDnpdrpSSrJJnDQrLp +cPfCgZZzNzzcGhNszcTPNZLrnVSJpJhDrrhSSQSpDDQn +FbTgbGcgNgcFbPFHMqvjjRtjRWvFvt +fZTnqfFFDNglcjdjZcfLGQJBwrGGQwbGQTBBJz +VhvfvsPpWRChmphvRGBbBLGhSbLrBQBSwb +pCsCsHvsstPsfRMMMtmDqFjngdFZqDHFnNFFjl +PVVwffMlfGWMDDSwfDwVpRpsZRjBHgpSsjJSpBSp +TdnFbqTFdmbjctcqcbRBZtJJZgsBzBBzvgHJ +bNmbcqnnbNFLChCVCfjDfWlMjVDPCr +JBLLjBQccLLJhcBDDlSrdFDsVhrVsR +HgNWCgqWGbvCRRZvGWvZmszsSlrWdSdFrWzSldDF +qvGCZGHggRNHvGTgvLnBjpjjPJwTPjLcJj +GCGwQrwBZMZdGVdLzbqbbp +TRfTTCtgcDmhtDmsTDVSbvpLdNpzNVRqVdVL +CfDJjscgTcsjfhtFZljPZWZMWPlZjQ +WsrjjfRfjjZjwjWjBpDpVpVhMBsMMSBT +JgmqHnCHHPCCtCJgSZMgZppDTgzvzZMz +HCGCGqqqCtmnHnqLFHWjlFrWRRbfjZccNWrR +BJBfSfPLPvdhvrbbvpDsHgDTzgpdzgZpgN +cVcmRnCWCqGngHpZsZsTsqNN +jmGCVwWjjnWFMjGwcwmrLJbBJPbLSrPPTbFBTr +SPZmmtlmqjZlZMwhlrtggqGGcCLCpfGLgqdCqF +FBBVDVTVDJfgcddLCDdp +zzVHvVNTbWJJTTRbVWBFJbWHmwmSPlMjPSShjlhMhhrrml +GJZJZTsnhsDJtVZdtsZJZrBCQpLjQgBnrQgjCjQQQj +RPSfqcRShHbFcPSfBqLLprBCwrQQQCqg +zPzPRHbFPcRRRHPclMhSfvfZsJZVTTZsJNVMGWGVdGTWWD +lCZrCLWCwVllGzWPPBMTFpsbGdsTpsbNMgFb +RDjtjHcHjcHctDRtjnhtnHTgMqTMqhTbdbdZbgFqZdMN +vfDmvfjtmvtcHmjZfSRZHQzBLrVLCJLJLfJBPzVJlwPw +JMTHVZMWNSCwCwMS +nsddQbDCnQQdDBPdCQCSvwpDvwffhfSvpmppvp +BssqBFtqRHgTqVRC +cWTTthtrgrzpCdCddtpz +SSSLNJLGLSLfCJfJFQCJzQ +swMPMZVMMSlMSZMqVSSHznzcqgzWTHgTnhbnrr +RJjjgMjWShPqchtbVBPV +DDddwCnZMHLLvDnfLrvvbVbbBtpwVBVPwtVpbcbb +zrvnvLrlZCHrfZZLffHZHHTsTmsQgFQSFTMjjQlFTRmR +zhTTMLRVTzLbVqwVRJgDQQsSCgCDNgsZCpqp +rrmrBmmWrWnHjWnGWrnGnhDHSQgNSpQsCgSNgtNtDDHZ +fBrGPGmGPBcTMfLhJVTc +TbTCjTBSbCncHsDZDZPhZbzv +rMwplFdlWWJMJzhhpGtHtvHSSP +fMMfwWdWrNfJNdlVgMcTLTmLffjTqnLScCjL +SwhTllwJDwqqBWLBbNtfhjBB +mvllZMmRMZGFZRfctLWtWttzfNLR +MGvHMCGpVnFGlgvVFFnpnGmmsHrDJJdSsqPqJSqDJJdTTDqD +QTTcqJZJhHSpShhFpFzjDDwwsFzpdg +NBMnBvmBPvwrqvgvvqgD +bNNGmWmbbClQTQRqchhQbf diff --git a/2022/inputs/day03-test1 b/2022/inputs/day03-test1 new file mode 100644 index 0000000..f17e726 --- /dev/null +++ b/2022/inputs/day03-test1 @@ -0,0 +1,6 @@ +vJrwpWtwJgWrhcsFMMfFFhFp +jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL +PmmdzqPrVvPwwTWBwg +wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn +ttgJtRGJQctTZtZT +CrZsJsPPZsGzwwsLwLmpwMDw