From 35c13300ccec06d0b1503f80a351d539b9a540d0 Mon Sep 17 00:00:00 2001 From: Karl Spickermann Date: Sat, 3 Dec 2022 19:41:59 +0100 Subject: [PATCH] Day3 --- .idea/vcs.xml | 1 + day3/day3.go | 68 +++++++++++ day3/input | 300 +++++++++++++++++++++++++++++++++++++++++++++++++ day3/testInput | 6 + 4 files changed, 375 insertions(+) create mode 100644 day3/day3.go create mode 100644 day3/input create mode 100644 day3/testInput diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 3b8108d..d3da782 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,7 @@ + \ No newline at end of file diff --git a/day3/day3.go b/day3/day3.go new file mode 100644 index 0000000..573d9a1 --- /dev/null +++ b/day3/day3.go @@ -0,0 +1,68 @@ +package main + +import ( + "AOC2022/helper" + "fmt" + "os" +) + +func main() { + args := os.Args[1:] + rucksacks := helper.ReadTextFile(args[0]) + part1(rucksacks) + part2(rucksacks) + +} + +func part2(rucksacks []string) { + sum := int32(0) + for i := 0; i < len(rucksacks); i += 3 { + repeatedItems := findRepeatedItems(rucksackStringToItemprioList(rucksacks[i]), rucksackStringToItemprioList(rucksacks[i+1])) + repeatedItems = findRepeatedItems(repeatedItems, rucksackStringToItemprioList(rucksacks[i+2])) + for _, repeatedItem := range repeatedItems { + sum += repeatedItem + } + } + fmt.Println(sum) +} + +func part1(rucksacks []string) { + sum := int32(0) + for _, rucksack := range rucksacks { + repeatedElemnts := findRepeatedItems(rucksackStringToItemprioList(rucksack[:len(rucksack)/2]), rucksackStringToItemprioList(rucksack[len(rucksack)/2:])) + for _, repeatedElemnt := range repeatedElemnts { + sum += repeatedElemnt + } + } + fmt.Println(sum) +} + +func findRepeatedItems(itemgroup1, itemgroup2 []int32) []int32 { + elementsCompartment1 := map[int32]bool{} + repeatedElemnts := map[int32]bool{} + for _, item := range itemgroup1 { + elementsCompartment1[item] = true + } + for _, item := range itemgroup2 { + if elementsCompartment1[item] { + repeatedElemnts[item] = true + } + } + v := make([]int32, 0, len(repeatedElemnts)) + for key, _ := range repeatedElemnts { + v = append(v, key) + } + + return v +} + +func rucksackStringToItemprioList(rucksack string) (itemprioList []int32) { + for _, item := range rucksack { + if item > 90 { + itemprioList = append(itemprioList, item-96) + } else { + itemprioList = append(itemprioList, item-38) + } + } + return +} diff --git a/day3/input b/day3/input new file mode 100644 index 0000000..eda5463 --- /dev/null +++ b/day3/input @@ -0,0 +1,300 @@ +DMwrszrfMzSSCpLpfCCn +RMvhZhQqlvhMvRtbvbcPclPlncddppLTdppd +tVMQhFtjjWmsFJsmsW +trRtvNhfJhSzzSTFVhQQZQhHGphP +CnLMBWLwDMgMcwwdngdHGPVTQGpTHZdGPGpd +LLDqcDgwqCMnLWqtvzrzbbtJqPjJ +wQQwHNQLmbWQbQRHwHNFBbwqPfjqlzRMGRqzpSfvPlzplM +nCtGCZZtsGsrtDMZpfMpSlMlvlZq +cJctJCgVJsCJnDTsCthGhGLwBWBbbQmLbgQLQQdWbbbQ +ZWnNlTNTnhhQQlDNdmmpwrrrqBwjwjZd +GzvlVRSfvMVMvGlSpdCCdjmfpmBCdsqB +bzlFlLzJWLHHttLL +SmzFhVDzrmSrszVDVhSVbhZcCZdfZNcnMfMbZnNN +PTTRGqwqTqWRwLgTLTZGnCbZbNddZCCtMcNs +sgPqPqgJgWWqjjwgwLLVFBFSVmvmBBrmJJDSvp +CBccfSBhcSBddfgtlJmmmwmPRwmh +FpTzzGWHWprgDtJlDZDPFR +HbbTzWnTrnWtCbQBbQqQbSjf +fPHspCjgwZggSvZQ +RrNhzFZFcNzFLNLNwQlSlLnv +TRFrcDVrrRmrhFRZzVrczqhRpjqjsssCpfHjsCdpsPfpjCMC +ZBnBTMVTSbGbTVTGbCPgqsgPtHtgCcPtBB +ldDrmnnNrzhdhfgcsHqcsfCcsCHg +zFdrzNdzQNDDhFdWldDrJTbZTbLZJVVVpMVWVnLS +pLnpQNhBbnWvbsWm +FrFwjlTPTdTqqrDZWbvmZbpSgmJWvbgS +RqDqRrdGFpGRFrFFdTNzCcHcHLHBzQCcNNGN +bvRCtbtCPfSGtCcvCbPNlglqgqlGZMzTgnlZnq +hrmWWFspsHWrzNwTnFlTMTwFFn +HpjJDWBQmmQdRffbPtSzdJ +GpHjFsjMFpCpMWjMGCqWmmqrWQtmthdbDbbD +fzgLTJwJPSgJgzSzPfhmqmQhQHzQtbQDrrmq +RNlBRwHfRJHLLfHTwLSBppNGvjNMFFCVpVFcvcFC +SfQnfSFHfnvMtQQSnHJtMffsdTlZtdZmtllmTlmlRRbBRLDb +hrwhWWwqzPrcCzwwzmPlRbdmlQDTPPBLDl +CpwCzrwGzNCWrJnMvpMvfJVFvQ +rCRPpgSggcpqrhPrCDDTLsMLDSDGLTMGVs +HdvzmRWmlHzwvWHvRHRvHJbDFsdMssQQVGMDTMDLVLLFLT +JBlBnnWBJlCqZRRqRBpr +GtZllZDlfDpGHZtZBGBZpDmzQzzCSVVFHmmmsPCQWWSS +JvFJJrwvNNcJTnbrTRNRSCzqwSsVPCPQqmCQszVm +JLMnTbLnMgBhDFDf +lffDhtgDJzCJNGGTzWTRRnRvBv +qpbpdwqZwqZSwMPSqdQcQmTRnWvnBnRBQBtVnTvWmB +SccbbwSbZbFPswpSZtgFlClLhgChhhNfJlFj +ClmCjCJBjwBVwJGjlGNFJlVMHSrfpDpTfrHMcHTppQVrHp +dRLZWLvWSHmTccWW +ggtqzmRZnmhghZhZghntdqsvBbjlbNFFBPwNNJNNCBlwPGBz +HZmsFZQpvZsWCZQvWrghGrhtgNzdHddHGh +fWSbqWDJVwcSccNzrNhcBtGcgG +VqVfTJnbWjqTSqbwDRfRvQvFpFLRpZsssQsCQZ +FpFZNfplSTJmbZzddGzhDrWh +LqLPPQjLLRMPqvjLLHQrLqrRWdzHnGhdthttGGbbDWhDDdWz +sMLMgvRLgscrLrRQvwmTNNfpNplglplfmp +MPVBmCmWGWRPPqRhLcnjcvjjcpjMvp +tzwrwsJlrldJsrsrTtrzrTtSNnLJSShnjcncvnvqnSFnqN +rswrzsbdwDHHbWZqVfWV +dVmmMTmBPTrCBRMCqFHSWFFHWzCvCz +jNqfGsDqtsjGjQjDlcJFFFznFtzznvtFpFFp +fNNhgsDcfNflqchVRdgVrRPRdVTRRb +HJPLwgLvjttmgHJFjwHgtlsBbNbbNsPpblspTllThT +MzmcRRrdDMVTzbhNNSszhl +mCDDVqdVcdDrqfcCnrFwtGwvngwvtWJtFjWW +dFDpmttBlvNNgWlglNDBFttmTGHTcSSJJHHnMsJsGGSdqcJj +zLbwMLVQbQRwVsJsSHSsHcJqbj +wfVZLPzfZZmpMZZMBl +PZHZMJSTBWHNWSHzVnhhfnhThhpnpC +jFdBBtrFjpfnjfnf +ccGrbblbGRDQMlvmQBvmBl +PCCTsnbPbHDnlDfDNB +rMjQltgSqtvMjScQggjfVVzBzFHzGfVGDLGBqB +vdtrMSttcdwcpSQSdglMrtWRRPJZCpsRZJmWRRWChWPh +pWzbsPCCPPpbptSMCJJwBQQGQt +cDDmcTTRRqzFRddVTSJwMShMtBwhwQMDwv +HldqVmVlZdLTcmRFdrngNNzrffjWpPLggP +JPqvjJmmqvSLmPtpZdcftdmtfdCC +swwhDRwBBHjFFBtBfZ +RRzNQDwznDsDwWJjLNlrSPLSTr +VQmdRLvDlmqZdFrBBJdW +CMstGsnHnHGGMrMZwMpwBSbW +GnsshssNfjtsnggnHCGhjtmfLQQczllvDRVTTQllQWlQ +dhbNbswbwVdNtVdstBtgbNQTBCCSFTmfmMFmfRqQmmQM +HFljLrvZfMQQQPvm +WrpznLZZrnplpWbgdFcFsNzszgst +LjddfTlMccnBfDQBtBQb +ZRSNchHwhNNCHNSWPQFFFHDBBtnQDH +CNpZshSZgpwJmpdLMlplMc +bTmTFmqzgbBntRVsFvVwcv +CZfMrlZLLLMlfPZRLRHGstnjGwtvGcsSVwtcSGvn +ClZpMLCRMZMrHMLmWpqQBpzpgQzmbg +jDmSSGWDDdWdSqqDDqCqpJzqRRqpJnRsMRcMzM +lPgNPvPrrgNrPhNszFggnRzccbMJgz +ZQTHQvQTZPrrQlBBrNvQZZGtTtGdsVCGsCTLLGDmLsjt +rbCfBrbsvQqRFZRNZC +HLSTcwqwZSQFFgRZ +wdDwjpMHqJDTMTdqjlfBvGBhsbfhbsnb +ZhZcHHHlhgchHhlCZZhLCCbGdrsBBGPNBjGbsjNNjnJnPn +wtJqqwDqQQMQFqSqTzwzVTBnGdsjBdnMdPGBBsBdnrjr +RVzJzmSVZmLLWpCc +gdqjQQrlhhQlQrhsnjjhLgmmvmHBBmTmZRsHJzTBHRJv +NwNnGNbGPbmTGpJzppBG +nDnVDfMDrQqQStgM +MLbgbppMMgLmHgQttGQJgJrBShwNShWBBSNNrwNqNN +GnTFlzCVVwPRrVWhSw +GnDDdvdnZDTdnGMsHbbttZgttLbc +mdmPmjClrTzqttfm +cpFnSbcQQsqNNtqWJzHS +QFpcMMBcZtLpQBjVjZhlPjjVlwvw +spVsPjTZZMpZMVLDjmdSQJCLJSmLzdJQdl +HhRnNrqwMhNhnqnHwGNRFBNBrzSCSdQmQCdddbrQSSclSSbQ +nFNqGRvqBfjMvTssfZ +FjjzjnpFqqzFFqgFSZjBhHfHhnHRDDwfdTdLfD +MmCMGCsMWbtJrtCWCbmsmWWhdLGGwRBwdfdLhdTLhHHTBd +bJmtrRvRjgzFFvVq +RWwWmVQGMFGmMGVCVWRRZSBgDdSdJGlSJpcBGGSlpJ +HHhQThnjBDHfSBlS +bPhNjbsssQzFNQqWmz +FTDtrjqwwqGtDbGnfBlcnLcWBZwlWn +mMhRMvJsJvJnMHCvHmhLZLQlhWQBBfPfLPBZ +HRCCsdNdvNmCvggFStbzjbGSSjjn +sLGddsvvcZmLvrLMGcMsVnTTlqlHCsTHHVVgVt +wRbfJPbpNRffRJMBhpDntTCHFNVgqllFlqggHC +DpfbPhRDJPMJppJwzfpbbDGSjrGZvdccQdjGvQZdvrLz +wTwLNLVTqnLMsBwfMsJmCj +JhlGvcdJhSFvFvvvMfgBpCzjzdCfsMMs +DSlPPJSGWrDcFPhtFhWJZHQZLTQVnRWRbHbZHQQT +TmTgTrPDNLNVlDrmlbgNmrSSGbzjZGMvjpZjvvphWMzW +QtBfdfQcdfHtZcnZnGZzchnp +HQHwRBGfBCGBtsrCNPDTmTlNLr +bfNhjhNJDWhlWhlRRR +SsscnHgnSnZnltqqfWRWrzZv +cnfTMfmMnTnmFGsnTVLLLpQJbpbbjpdTdN +BqwZzqRQQRRPSlFRQDDwdfWwhJphnfgfnpMdJfdM +rcTLrcrvDDChWJhfpTgTJh +DHGbGNVCZStGqSqS +dlfdRNNfVdLwrRnwdwRmhLFsbsJJgLqbgCBWBCsW +PHDppMPMHHDPzmBBCmWJqCmbJD +HzzZHmZzQcNdRRdZwddr +wrlshslPsSRfvrQvwbrslCDghtDgCVhDhBVJCFHddt +mZnGpWpWzGTMqnFqDqJNDNFJVJqH +LjpzGcjMGcTzcmmznWSRsfRPfcrbFQcfrwcv +rWBmmmtNmmtBbtlwnhJJVZbw +FsRcjGdLdvFslZbQJZwQps +GHFGvMccFPjgDNbmWWBTTHNz +GhHzmhmwlpbltGBmBmsZsBZsfCWC +rgrcCCPdsWBgNVBD +RnRMdQPMCqndSdQdcQhblpLLwhJbbpzGzwpS +NNQtStFPpJwhRbRzRbqpZZ +jLnmdJrrdDTdbgWbTbRW +JHvnMCmDnMnMljLCDmMLjHNFGGNBPVtQQFtSNFQtPQBv +BFbBRllFZJnPVJbV +GpGHwgzcLhDcwttwthzzhHcPTjZjMgMVZjgZTMmTnMZWJVJm +GccwhqcDtlrPqQrRNQ +gWHWLgHBHQdFhjGGThTQhR +pZsSMpZMJJSzMszzzqclpfjvrvvcRGGTcTVhbVvRbTGTRG +lnMwsqZqsslpjlSMSsffZqqJBgHNNPNDWdLLgdDgdLHPWwCw +qfNvBCBfBqfNMBqCZZfcnmnvtwScpwFSpSsSwt +HzdVzLWPPGGDdnsswnztsRsnmn +QddWVQgJPPHJTJbjBtNTTq +DdRDDPRGGPGccfcbJwsbJWzsnznlLLWzWTLWhVVVVS +CvCrNCqgFqvmqNZFZqqZvpWlVrlVhlhnTLShlDWnzVBD +jvqpvpvpQNCQQCZZmmNgZfdGddRjJDPRMHcHJDHPJf +ttdtBtPPMqWMdgPPBbVGWfTGTTzSVLfVrzCS +ZpDpvRpZDDcmmjmZfLSrwzRnSVSnwTTR +ZvQmjFVHJFDcQjDlZcDVHdqMNtqNBPtPJtbhhbdbts +dGdwwLLpgwgssJpgssNhpJlnbfjnzFfcbfttGjzjlntf +VQvDvHVVQHrQHDCZVBChrHFtzffnfltFFtncnvFtllMl +VBShSqDVRVSTmppPwwsP +fTFDTLNNzlcNrmDcrMDTFPwCSsbCbPPsnCPwLSPvbs +ttQqhJtBRRGnvgHGnlSnbl +hZBJlQBRjVRBRjhtRRMNFVmFmfDNrfWcFVmD +mcTZFBFmqBjmBgPtCtPprmssStCP +LWDQNqDJfQNJddnWfzhfsPRVppVVsSptftpVMS +NDGnJDDDbzddWdNbGNQQLQbqqFBBFcjlZBlHjlZHGBTvZB +PwDzvphPwVwWBqLLwnJWTq +jdCGCgjmllCrmmlmjrbgmRdgJSSJJFLSSqJfLnqLLLbWffLB +mRdjcMHgDpZhDqMZ +cqLjhhrwZwJbBqZhMwbZZdGWdGSllWFvLFGQdnGFQG +gHHVzzppRVggcgpcGWRQRSvdSvvGWvll +HmNNHtVggHsHPtrhJsbjbwCrCqJc +zqPvzLVvzFFQZzWpRLlmHRDHmRCHDH +dNjnJGGrGdqqMprRlpqB +GsgtjhSsSvvSFqvP +pVrfzzjrjWVWTWjrNZvnJSJZqnnqnpSZZS +bdQVQPRPDdcbRGPFddRVMVlZlMlBqSBBZSvSZwnwvJBS +bFbcFbCPPCbbVHCCdVgWfrzjmWfrWrNWgHfT +JgJqLjjjVGgdqGDZGzlGRStStT +PHrHccmrMrTSMVStRtRR +HWPWffNsrppfPWNsVFsmPNCJwwjdJdvdvnJwghBLJLpdLJ +HtHvcnDSDgDcDHtpLrvwjwjfZMjffw +CPWzdJdqVdWZpnLdwnrfdn +GNCNmTQnPVRRglSlHsSG +FJdhjTPbdPJjTPjTjPtSLsSBWWRcCvCvsBWztc +MfGgrHMDDpMnZGDLCRLScCsBlgWvzB +HnmpmNNHGZZpZZrnMPFFbNCNbFdTPVFFFN +TJrrrJQTqJqmTltfRrgfgtgFFg +jLRzBvBjjcnFBNwWlgBZFt +RMjMCGpGzGznzhRmmPPDPsmMmPQmJs +BZqwQCQZGZcVBczqBHtfbbbWfTqNWfMfPNqW +LLpmFjpvpHrvRFSRDRMWbdbtfPWPbjtMgMtW +SDnrpDprDFnQhZCVnhcH +WTsBBQTfQQTTbJBbZbnfTsRFwFrjwjFlrRqvrrlqvWRV +pGcShcGSLNJNHCLttlpllRFgpRFlRpgRrg +GzcMLScSGJGtCbsbQfbZbMBnBn +NGCLGjVjZjQwTGJRQdWM +cFTcvSrFmnnpSmndMswsRMJWRwMHps +rrrhhcTznqvzmcccvvmhgzqDgbgttlDtjjjlfVCfZCjZZV +ccDMHddWNDnnNWMMzdHJJmSQhfQZfvQZflrZQfdVfLLZ +bgBFRTwFtgqCgpRGFpvpVllZlhjrrlVlvj +wtbBGPTPtRTgbCTBqFgGRwFnsWJnmDMsWMJJMzHPhDmJzP +zsbsMtMMdnffBbzNsBtCCWLpLrCrcNLVDWVVcD +TmPhJRvwmjmhFJwjjRPFPTvJGVCcCGBrDpccpDrCrWCVDVFZ +QvSTvBhqwjPmwddHgtqMnllzMl +gftDtqnpqzGZsFcthbtZ +VlNPrBrRNrLBmdRVFCcGCZTFCsTCsbLL +VdldlljlSNHBsSlqfgqMDDvzpHJHWg +tQDLvFLcDrWrcnsHffCGgGHG +ZRPTPJqhMZJZVllRZJPVZPRHnhCnfdssnCznzGhdgfwCHn +qPqlPVlTlSqbZZVJplqlPDmrjWFtmLtFWgQvtmtFvp +zlZzdNRPgGGzsLGCDBBtCDCtSncScP +vWvHWbqjrFMbvrTWcVnQBBBSjLDcQJcL +wfLHwfFqLFbhHvWhMWqwbwwRspssmzgpzGgmmNfmzmRGRz +rPvLrQBvBLsLLdtrgssgZjwFwlnCFMtMFnlllnnb +mNmmzpWHlzjlJMJb +TVSVTWpqRWpSTqNbTVRBPDfLLPrSLrsfQrrvsf +nRjpQWnQnRQzMjRdrtvvPCfmvGtPfMcCtG +TDbrbhNZVbbbbwhDZDhbTTGfcftqcGVvmmcqcJCcCPmJ +NLhrSwgwgnsLsQWljW +JWqVSpGNPdNNzdZJJpMzHzwLgsMwzwQwMBgL +clrlcvrRfccCtFbHrBWLgwLHmMHsHg +DbfDFjcvRcvchWZVWdNpGZNqdh +sdfvFLfmtszQwLfddRpmtDDBjVNWGMNQVQNMJGWJMj +lccrncTZhqqcqhWggvrjMNMGrJMG +SblShnZCqSbPhhbcbTTSZFdFsFpmdRwPwzvmswLtmm +PGwwHpfnFSvVpWqWCQNNjCbbnW +lmddlhcDRBlLRchdmzbNjqqWTcbNPNWTzz +RBMrRdRhlDtPrJtfwFHpsvrHpFSrFw +hhwlglFFSQndLRFbmCbTTz +NczHMMqzpzPcpfBffcmTrdfGbbRbGrdGrLCL +qNzNPqMjcqNBWWccBHsZPDhJnllwnwvJvQnJhQsgvD +mbmvmvbbprZmlFmZbFgLffgQtFNHNhfqQtNQ +SJcdzjSJBzdBdJDzQhhLQfqzNQQHggRL +jwDwcTTDThvTZPPW +FSVBBBvHvCpVVDDGcGwNNhhctwMvMc +fLLZsZVQmjfTfqQRmQhhtgbbJbGJRghtcGct +qTsTQdqjVfqdVdZZqVLpCpzSpdppBlSpCFdHSC +sQQhWsMmQshlhmMQZFDHDJFjgjzHZgcHdH +LnwnpNRrnrbCqqLpwnqfnLcvFHJFzNcHzJcgJJHgdDgN +wCbnpCfPCVqwwnrrbbPRGMMlSllmlTTmsThVMlsd +pzrprfwgbwtwqzrCWbqCwqSMvddHdDSvtHRlDnRRDddD +zQLzQQjPBPFcLcQFTFsmNQzcMNdDdvnldHHvdvnDnRnlvRnJ +cTZGzzscLcPrqrfrZqqbVV +DcSdcTwDLmcwDwvWssGfJfcJQZPGnfcs +FlHFMgtgNggpsztMHMqpjgBBnCfPflfQnZCQBBCnRPZC +gpVjqNVrHFtjqqzSLDTSmTDwwrmhbs +MLMzJTsZzZMgMLgHMmVmdCVhCBlQwDwwhChD +vtPRQpbqCldwdtBC +bQqFbnQbcFfjPRFPQnTrMMgcJgJrssrzgrgS +mtdGJmQRFmdtQvdvtRtdHzHzqZqpHFzZnCzhZjjH +fPwVlllswMVNPfBDDlNVsMsfcBjchHncqzjZbpzjcqCnpHHn +rlsNPWNlhWTPMMNPfwNWTLQRvQLLmgvSJvRJgTRG +TwnqhqqgvQnGBGmBDp +SMjclJSjjVJgCzCzNgpmdBpmBGspRBmpDDVB +JjMCgMMHMMZNStllZSNHhPqFhFWfqPPqTqhLFqtL +lRQPtjPRlDdStDSlPmvllvLsCphFfCHLHggspgFmsFLH +qwpTNprcbNWVHLrfFssBgFCM +NTWTnzTTWGZZZVRSRRQGpdDtSQRp +gpwTPNPBPTdLLLLVGl +jSHdjzZHMcDVtDvFjtCF +HqfZMHzbcqRRRWgdqPmBBBNmwW +PvSBtdFgvSmBPngFBTBjbSjwwpGjsppMjNpMjj +VZLfVQLzQQQhllpcNcwbssvwwwZj +vHWLVVqWTmTgttgq +CNRmNRFNRCWbWNCrlmfGlWqFLsDZQZBZzgwQZsBsDZZCzczB +MSjdVHvHnDDhHvdwBwssZVzwcgLcQg +HnMMTdttHSHSpHvDddpSHTjWlNWFlmRtRmRbqGfqGGNNfR +fBLTDppznrfTndfnfTzTLPvZvvHVbRbggjvzVbzvbV +mwmDGGlqDhMqthGqhJMWmlNVRZPHjgwjjRZbbHRgRHvv +DmhsJsshWGhSGlmlmrdcLLsTBBfcfnBppc +mbCGFFmGmcdTrCTQdh +MJHfJNLllJffPLRTdBqTRQNcqQGB +fPJHfSSSWfSLDMLWGHDMLDFmznmsjmvZwzvjZjbvbZ +pPvpJSfZTTvCzNZczzQZchcj +svbHWsqsvbsMFtVHgVtcRQcDlQRRRQLjlqjczj +tBsgvHVMFggbgFrgWnwSndfBmmBJfPSfpn +jwbwfjSbwjVSjvZPzWSvhvhQlCsBFgLRLLgBLRClLLFQQw +GdNJHpmHTDnTNJqnFCgBLFLFzFtsQRCd +NpMJHpnMrDpJGTHqTTmJHTPjfcvbWfrffVzvZfVWSbjz +wFwpqWwwpqwtqqrbCFtptDmCcfNhNRzRBZRRJRChVNBZBJ +svlvjHsQlvdlvMLdlvPSSLtzzczcNhJthfNtRcNMJNMc +HvvPLSHjgltjsvqwbbnmWmDpgwTT +zhCmPVwwChdCBtsWnNWswBWr +GJJSfSgFpjJjGgpfpgrcNNstvnBHNnHLtFHr +jgDTfjpMgZMGMGJTMMJRhzZPCzbhVlPqdNCbhd +bDbQQmVDRpDNbRQlfQQZnfwTlllfsT +FChzzBWhVzrgMwffJwlnngnTlJ +MCvqvhFzcHCChjtpNNVLppGmbq +bZZzJnccqdzcLhrcQDLrDs +FfCfWVfjWTFClClfwjWCfGGwhZSDhSLsSSRpZprLph +mFmTMmFjMMWFfZtttflWjmWTngNHJHggJJHtzgnJvBtBgHdv \ No newline at end of file diff --git a/day3/testInput b/day3/testInput new file mode 100644 index 0000000..9919ffa --- /dev/null +++ b/day3/testInput @@ -0,0 +1,6 @@ +vJrwpWtwJgWrhcsFMMfFFhFp +jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL +PmmdzqPrVvPwwTWBwg +wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn +ttgJtRGJQctTZtZT +CrZsJsPPZsGzwwsLwLmpwMDw \ No newline at end of file