From 061a5bae272f45db6dcde99746922735f9769d25 Mon Sep 17 00:00:00 2001 From: Christian Segundo Date: Mon, 5 Dec 2022 17:00:08 +0100 Subject: add day 5 --- day-3/input | 300 --------------------------------------------------------- day-3/main.zig | 46 --------- day-3/util | 1 - 3 files changed, 347 deletions(-) delete mode 100644 day-3/input delete mode 100644 day-3/main.zig delete mode 120000 day-3/util (limited to 'day-3') diff --git a/day-3/input b/day-3/input deleted file mode 100644 index fca63f0..0000000 --- a/day-3/input +++ /dev/null @@ -1,300 +0,0 @@ -qFdBBvtHHfvRlfvsqldvqjPpQmnQmjnjjjTRTLGRNG -ZCWhhCsJCzSJzSbzgsmPTGNNPPNGjgLTLjgn -WJZsbJMwJcszJcScwhVltFwBFBlqddvFdHDfqq -crtTsGTtqFThGQGCrsjTwdNJwpRdnJJwffRClpSf -PWVBPVHLvHHVgvZWBzmPpnfRSJJRQnSRflRPSNSl -gmzBzDgzmZQWLDLLgVmDrqGhsscrqDMGhcqtqcFr -HsbcdVrsbVbcLfPqqQsqqtPj -mMBFzZRnmFMRBDnDFBGZDGdDqLjtdQtPtgfPfttgtqgq -BZvZZdJMBFdJhSvhbhchcHll -GNRSqRfcNTpfGCcqjfzBpDQPWBzgDpQsPWzW -rrSdnVHlbMdLdBDzgtBtBmQt -rbFwwnLFLFwlMLrFwFhMVLrGNSTfZTRhfTqjGJRRZTCNcf -QWTnQCnWNNWmTnSPQwmqDbcscbpcjPjVPbrjpq -vJhzZNlNNgdzgzJdlGzHHcHDpjsHqrvbVrbvrD -RzRdRlhLgtCwCWSLnN -SFTJFTTwTVVSJBnSTdvNNfWbZCZWNZCNNhBv -srLrcHDcsjtLcLLcrLctjlcvbDNhmWCvNhZWGZZhNvhZmb -rclgtMPrrSgVTgJCng -DbrhDzcDffbzNbZvZWSSqSTNSVWv -gCPltPmCPglFnPFwtGPhGPwTCTdZZWZVRvWqdRqVVdTdvR -hLBhlmlstcffBzrpfj -wFLLmhMfwZLDwmMNRhZwRLDvJgldbJHPdQvcQHHJQPgH -bjrVrTSSJdQHcVll -CGCSsCCBpspBrqbSttpbqWmWZRmfFRZhZMNNLFqFLm -zWGjjBHGjzzTWMjhtDDWtPPlJZPJpvqQrmZTqQQpmr -RFbVLcBVLRcRVcCsCCqvpCZqmplqQJmPrlvQ -FLNRRSSRgScSVLLLNdFdwjHjnftBtGMgMjzHgzjWjj -znVSqnqbqzSbzTHqDDZmlcFcnhDMnDmn -LtjsvdvLJdjfFwRRCCMlChwCpMcclCcZ -LgvjjfjFQVgNTgWq -SJRJRFFCMSsGRMMwtZJRCVTgqgTVgTBCVpjTjmmWlB -ccvnnpnDVqTcBVTV -vPHprdHdpnzHSMsSrMRZJGws -GddGrcGNHnGvnCHddvCSWqTSWsTwTWShbHlhhb -gDPzLRVZgQfpRRFQDDVFDfzhSzsTBqqqnqbhnWTSSlST -QVFfFgRQQgLtgffZRfpFPfntjrcrjCmtCdMMmjMdJJJNtm -jjmNcpGCNmDqqsBfnZnGGGRLsZ -lrmlVWlQQtWllgtbQVrWBnZsJgsRLfZLhZBBBffL -rWMVQtrFlbFlSSMHVSdHHNHdcdDcddzppzzm -bTpjpjcVTLmphbLppJwqzqwJLqqzzzgRLJ -sdHNbrvNHrqPvZZZPRww -bNQCrCNtNsSlhffhVhpVWFCW -lpNnpMMZZDbNbnBjcrbjvScFmbGj -wqhdqVqdscrjdLsv -HQftVqWCfhwqtCCjWwfqzzVPZRJQgMlggZMMMZTNMNTnNRTN -fvvGbFtVmtTwgtMT -WcCcClzPCCcczJJScPWWZzBDmwbhBBHSghgDDMTHMDBD -nWPljWzZWnbcbRsNFjFFdFdVjFsj -NQrcLNmQGRfGLHHLZgbbnpjZJJJndbgnlv -DWtThDWtzzhltWTwjbdpvjbgqjgg -VtSPFWtBPBFSFBWCStshWBmlRfHfMRcfQLQLLlmCrCcN -pbmwqJnqSJVwwDPCjZZzrZfD -QtssBTvNdNvNtQvQGpGhdjPjDjczZDfjhgPPDcgjgr -GltptQpMGNNpRWlWFVFHJFHLWH -ZLLsDGGVhZcQQLhrLshrVFwHnWqJnWMnJJJnqfWfGn -jMlPdTlPlgCgFpngFWFnJfpw -TlTNbdSSTSTmTjPMTCdBPjBMrLDczsZcNrDhRNDRQRLLRVVz -HDLpBqDVVTvwGDDNRT -PlVWjfhsPMMmWtlFNTrhrrvCCCTNNbvw -lsglfgVJmsfMjJfSqSzdZnLgqcnLnp -pfCDJWBpfDffpJLgQJzzVzNrgNgNgNhNzmVr -ZnnGZbGTPZnsnRFdTlbrwdrNzrrmmWwmwVwttH -GbPGRvTnZljWnpqSMMCjqJQSCf -ZgnFgwggznFrfrwfHhNMMr -pctLCLRhPHBLMLWfBL -JJcdJcQCCJmQJppmlgndnFslsVnsvghZ -WpMgTppWGSWWJmJDpJcJJhqm -zZzjZNHvNjPvNsbZLbRLzsPcqhVJSVttdwhwmdRhtdJRVd -sLbvvCZCPSSSbbPfNlQQTQGBllCTnMnWQn -fwbwswddwSbBfDBggMBPDPhHcPWDmhHhmWnWPC -FQFlzLCzQTlrTTzvltFqFrmhPHjnhhnnchcJWcRRmRRq -lpLzlFZzCltrTNlTztQLZfSMGBNdSBVwbBNVSMSbVs -FMmgbTFdgLSgFQdjrRPrQBPDdj -ZqqWRvsfGrrPvvPC -wZzwnqccRwRNNpRSMztSMMFbgzLTFS -qTwBPfTfqQDMDrssHdvtRHccHMjR -gWSZGWzGFhnFFgnhNsRHtRdsVjZcRjHs -jgplhpJJFgnDrrwfqprwDP -CWhMSRfWhVVnRSZnVVdsLQqQMzGqLBvGMQqczv -PHbpNwrjJplttvcclLlQzzDszc -NrJbJrFNNJNPrmwrtbjtNmCfSWfWhSZZfSWCsfShfFVR -VLhRPLGLRPRSStRRLwfGqfmDwbmqbqqDlD -rBSFvppnzTbwDwlDcFWm -MJrnJTMvMsrTsPtshRNPZdSLhL -BZBrRCrnCQBBnZfGqhGGMMRcthMhMG -TLjsCdDCPTvNssjdsPsDgsgqGcPHczchtHczWzPWzzlWhG -gsTpsdNbvNNjNSpsNDTsmCnSVQFmSFwZnQBnmnQQ -llbsNsWrmbrGbWCNtBjcCFBzQFZBCFjF -LdSpwgdqSgzwJdRdLMRHLjQQjHjFHctjHBDTZj -gSppgpSJMhpzwrhblfbhhlWlnW -DwhTvvsJZWsBnDzPpBLbFp -GHtNGRGNdzbMBBtmBt -NljlCSVSHdjGSQRGlCQSCswqfWzhZfTcfzcJvshJ -lmsGNFsDGqCbFQBbffjjwpzptw -hRQdvdrvrvSngWnvnHrTMfzfzRtftzwVTwwpzB -HnSSWrvLJvWJGFDsmFLPDFcQ -bwwpGphpLghpTvpWphvJlFLJqqltjSjVlSStSR -cmszZdDdBZzcNcDCDcNsmNMcqVjMJStFRJltVPVrlVPjVJll -HcdmcCzzzQcHNcsCdpnGnhwGgnRggHvbbR -CfMBbwBGbMbDCFrDvhFFDT -mjzRjjRdSmjPnzFZgnnrTT -cmSsVcHjLHTwMfLBpBpBwM -whqqfZzgHvhSzzVNVDbpDbmbVbNpJD -GcQFntGTCCcCTMCTGBlJsJsDDWpRbWBsJpNS -FnPcrGFFdddMnCnTqgqgqPHfLjLqgSzz -zMSzzjssFdGnszRtNftqqwFHbbZw -RRPLVrgrwHqBqgwt -rPWmLCTCQlCQQmmrWLrQShJshhzdhhJjcSjlzRds -lvgvCDfPqLHppqpCCDJncbntttbBtBBVHjwtrB -TdddszSQsWcngjzVbcVZ -hRWsTRTGQhNRGhRTFSWmlpgfqlvLmplPqvvGgv -LbWFLQdWWPwWSjSHPHRfppHHDRpggR -zmqqNNzlzmnzzNCmVCmtBzpfGsfpBgDgspprcfcfsrRB -qNNVNJtNmmmNzznVJzvCTDZWhvZZjZFbWQQhFhbZSw -DjdHqJVVhHVZjhDHPWtDtZLFBRBFmSRTFSbwmRRTffTTJf -NNznnGlgMQsnQzNclzpfSRSMRmfPMmFRwBwB -vzrcGcNcPPvHvHPt -wLCcmZwWTNtZNdMSMGSCnJGGMB -RFbHsPhVvFPRjlshhrnQnGjQGSdSqJfqnQBM -HhzVlFHhPwzScmSTgL -TNlBhDNvNBFpJgpPPpDQ -jjfCdCZZqsCZsbdqPgFGGMRzSFMqQMRS -jnWPtWssCtWcmZbbtstvnrrvhVBhTNNhBHlBlL -DZwNWPDzPVWbJngrQjrNnrQcMg -GRRfttLBhhvTvmLmFcFcgFFSnjWrnsrG -TLthBWtTRLHqhlLLfmhBqVPDJVdPwzJCPPZHwdDdVd -GGVhrVSMQwQqfVssVvnWFgvgWn -jtlcRBBtQRmpWsjzFCvzWnvF -QPcRbpppDmNDtPPblZMfhZdDwdMrqSSGrq -ZRrdtBdQvQsWnnfWFZsF -bJLcMzNDLbMgwfnGMWFv -lpvhmzNDmDmlNbzbmrVVPrHRCPHQBVCP -rZllQrsRWrlQswccMVbGbVbTdcQQ -NtJCntLSHCjznfLTcGGGqWMdWM -jCtzzSFthhSSSjPJrFDlvWrlDZRpwpRZ -mQmbLjbrLQjLmTtwwWBTTvWjtt -BHSqdHclHHNFlppNqWPwfwDvTfDPPtCw -ddSGMGHcdcMhMZnBbmbZmgGJJg -lvvBzvDnlzjfPnfjnQPlldRbVbRqbqqCgsqqVpQQgVqc -NNFtGNMtTNFmJNGNZtZMwVRTTcsCpVTbbgCbgRhscp -FGNGZMtNLWmmJWGFWJGLSNtPrPnBfDzzvjnDBzpnvDBLnv -fwvQRFQvQqwpwNJrwN -BstDnBjhjBhnshSptpJzWqNppbfr -CsDjCdZcBCDcjnfDHfhnfggZMGlgQVmgMTRmgVGMMl -MwlBVqVlsgnmzwJsvjhWZhGPvjvRRWzG -QNQpQpftHdHHCHGfSpCrQNdSrDRDhchhjvjcPrRRWrPvhZjv -LtLSCTSGfHGdGwswnqsggssTqV -qDDCHjzjznTvWshZQWfnZZ -PFFmmNMMtNMVFtczcFPJNrLhZwQZQsSvvSvWvGQQJQssss -tFzrrPPNNFlzVrpRTpblRDqjTpDC -DWDrrBdpmdpBrCgDthdtfcHsqJsCqscqwfsjzHcq -TNLNFNSTQNQTSnlMcczVJjVzsqLDDfJJ -TFPZQRvvlMSPPtRWDtmDRWrBGr -LWGVZdrvWdpLGWRsjPMsHmdHdHldlj -zJzznChzzzCSfTgMhCPDmlDCbmlsmjDDQj -nSTTJhJtnShNtzwhgNrGRRWZZRvMWMtVrqGp -PbPmtNmBbPlqBvqlDJBT -LpGVDzVpVZqqSTvq -pMnWGLRLRppnGpGndrGPtgDCjMPmbPgCQmPPNN -sqcZcbZZpcZspcCCRMmznWGWdLWhwDRGTTWggT -NjFSJgVHrvfVtrGzWdSznDwLSTLn -jFrBNVVjBFNvHrFHBlBFFpMslPgPcpMPmcQPPZCgpP -frddqsThtsTfTbPcvhsrbsRLpRBNRpmDpGmRGcRNLpGp -QWJHCJwWzlHZQZHQCJJRzRqnLDGRGpnGBRnNDN -CVwHCClJjQgWCZVZQgMwSdthjrqvrSPPhdbqtPhs -TvdphBBhhhCgdLNNJJJLWz -fVcsqRVrPcnJWgDnJN -JlqsRJtssZwqwVtPwltRPsHHbFTwTFbpjHhQjTQbvpTF -cQSnPDDQJGNzwnNpZb -RHDrssVRDHRgsRFHRlrVwzzpNGZlfZdppZdwGNZb -sHCHtDgtCjVVLFChqPMhBCMcSTqB -hdbQbqcCCQcqFbCbVdcWCQQlRMBtGlRHBtBMpHhpHThZMR -LLsSLLfgJPrgPnssnmlZtlZpHGHVGfZVtZpl -PvmvgmvvnzmrSsSLJDqDNzqFDQdDwzWWbV -HNNjnLbpLGHvWJDhdWWPpWDW -lVcSNgcSVclhRlPZPRCDCR -cqmSQrwwrrVSrtQFqVNmFwjQnvjHzBbLLGjfjzHTzvnH -QmvWVppPHQQvbbvmSHSpPzfzwnWMTZFFzwFMCzLnwT -jGBljlNNjgDtGDrNjjtjqqDRnMzRLnFzCFnMfRfMzCnttF -jqNrrGdJcdgLjqDqBrDQbbmhdQQmmpPbphmbVv -ZHQCggVHHRDWvbfjGptVtLvL -nnFwnwrDDMShnhFrFLLLpjvPlPGGtLGb -dcNSMhrrTDCBCsWgCTQW -HqDDLGtDdCnhfDnwnV -PmlJsJTPlbdBTzTnzhnnCCWWzV -lSPjMScggsScgjSMMbqHLFGrRLGHRZZtdrcG -ZVVtNNppdZSdLtCPqnHhqJJFtb -zgwwQBfwmGgSrDfgrrGBggzHCnbJbqbCJFnqhHBhnHHCqJ -rvrzfmlRrgDgmrzfggvwzvdjjcccLjMjVcVcsVLjVSZR -dppcLRHpphchhNhSddjzHzWQWQLtrMsrWQCWCsMZssCZ -JGfBfJJfBqvGVlVbDBwDBDBfZnrQsMQtssMttssDsQMWZncn -qPVwlgPBmjpPhcmS -zGPnzBgPzPnPlHZlDDHnZBNCvrtcjcjmMcFzNcNFmFdc -qQpfsLTTSspqTfJdmdCtMjdtjvJcmr -bfQqqSrswLLrfpLTqprfTnDVDVBBbgHPDHnhDPgDbV -JssTnsdFztZLdNJnNtTsLNZGqlbGFBqrGMHqHBcFBqMFMH -CCgSfgPSvSfhpShSRppCdfrlqGHGGcHmclmqbbqbqlPc -wvVSVjQSSQhRVvfQChvZZsdtJstjLNLZDJnLss -CmfNNNZNqDrnDjMhZM -gdczzGtdFcddtWQgGGMnVhnjJwnrJFDPTwMP -dlvcdzdHtzQSLRSfmhLSqv -ZpFFLcHFZZRRmJVZgD -PzhrtQntzcrjCRJtbtRgBsBRVR -zdzWfCzhQzlhWfWhlvpFNlpSqcMSHHMv -NrrMgMhNQhNjQrtqtPtwVtZpggPw -TfRLndnLFCRFTFbbRDHwpVqqBBwsHwZsfH -TJFRdLlRThrlcvZcvQ -scrwRVjbQvQBzsBC -gMfVqNnVmnCBQDTvdn -SMqhWqVlmWSmqMVRSJjjpcFrcLpJrR -HtSQHQntHsHMrtHnGfHQVVzLvSBSVvVVSFNJzzVN -cmPRmpqlpPmcgTlTpjJNjjVDvDRFNVVBFD -hlmCpmqmpgqpZTlcdQHFQfbHHZttwMQwtr -VpWgbgfwCjbftwVPPpGQFQhzTBQTBGPzqFTS -dbRbDcRrsnsRrLZmLRDZldDZqTNTGqqFFzGGhSTNTFTzNmNT -MlLdHlDDHrHclMMrCwgHCCwWwCbCCjjg -GGNLhfDMVcVrcGsT -jSJQFjHbwPFSvQSHwZFvHSHrqCCrrTsqBwNBrcBNsVTsqq -QjZSjZJZPvNRZJQPnSZbJZRWLfnmgDlmhdhWgWLdMdfmhM -CgGnzPNggCJtNTgTZTPZzZZvvcDcDDdqDFcJssJDHDqvHq -jhhrrLVlmLRRnRflfVbFHHHqdVsDqcvbHVDb -jWfWwrlmRRnQmPzZNGZPBNCQTB -NzDDhwNmhvtrGmNCvWRVbcRRVTcHHcVFTbwV -LgsPlLsQgQdJsLdldtpgFFTMbnFqTcMbHqFcPncq -dgsJsLLLggljrhtGNNtSjvGm -ptzSrZtzhsmmtPrhLFRFnjnnLMsnfLRL -HvwVDHwWWgGDGdHgqVDWDMnRnTjFNTNjfLJvRRRRRR -DwDgWgQbDDDHwBBBWdwQGVHhlhlZZSSmztfcppSBhzZcZp -CWmWRzlMJqWDWqCJbqDlCBBVLMQHVMGrfMVtQZrsLL -SnhPdFFPNZsBBdHtVQ -SSPcFFgnwnSpwvcSjwzCqRzTmJbpJCRBmbbD -wQbqGWWSqwrbGWWWGjbNMJPfgfnnDmPnPNLfjN -tJFztRZCvVRCztZFZRVgmMhmgNLfRfnmDPNPhm -BFCVZzpVFlHCdbQqcTcGlJbbSG -tttfLPZZQZTlZPHHPWgMVvBnjmvjnjgGBQ -FzcNDDDrNzprrrshprhFJtVGVnjtjGvnhvVnnjnjGM -RDqJNszDPfdqPtlT -QCJdMjCQbdBjSbTHDsbWDDwHTP -zlvlmqzqGfgdNzLldrHwwPGpWDrPGZWprr -gfVfRczVqcRzmdcSQMjQSQCSjQCQ -RhhCGhRBShjjRfpwppFTfFHZHZZD -qzdqzlnPPctPdmtPdTZbwQvvwqvHHvZpwZ -nVTVTcsWmWSRhhRVrGVB -GmshRMnzqRGsPNwMwcrrpcVV -CDCbFCLvCgfDSFLslgDpwpLtTwwcPtNNtTTprt -JvSFbSbbFllJlgDvlJbgdRhRdqzBGnzshZnRRRnHBZ -ShJhtcsvvvQbnnsccVTLVTppWqddpVnLWp -NdzPrPZgPMNNrmzpTzpTCjWfzCpzVL -dZgHmZRPPZRlZmrPDtDRccvbtQQbJbRS -wqjLjwhznhBLqLWGfvSlvcmlrJsqrtJTJJ -PwbpFPQDRCDrDJTrTmvs -gbZVFbZHgwHbCdpCRMnffNLhWnnzMdzLLW -RVVGSNTTRlNqHblBNB -JfwJMvLLZwLsMJwWMJfwLHBqzFlvzpBQcqzblFbBqblq -wMCZJsgJCCCnsMHrgLLjSPSVTgShtRjTPhRRmt -lmQSSWdMHHLWgWqD -ZZtVGGGJrJvGVCwfgHNLccmNFFcqtc -vrCGPhvrTPdRBnsRTmmp -dDMDDjzCQjwCCcDgjSLLLsLNlmpplN -FqrHFTFRLCLVFBmS -JhHJhHRThrfPZPvhnTZZbWdwdwDDWtDzJDtbMtCW -ghwDzJRDwHmPthncSPncLLsPcvnv -MWCrNTCHrMVjQQMQcSdnpTLnFFdTcnTc -qbWMfWfNrWVQWfbjVBbqMfwDtqzmhmRRzGhtHhHhRwZh -fmSmnjTjrlzGlTzJdH -BrhRRQMrgQvgFFhQQbwpFvGGdZqZJqpJqHVpJGJLHdLJ -ggbDwQMsvsMQrFMFcWSPSCPmSsPfnnmP -cmNVbMrrrjcHDRcvfW -wQGdFfSThFsLhhHWvDCWDCJRCCjd -LtpStGhqrrpnfnpp -bvcccTqbgvpGndJtgdsgNd -wDQwQhtQhQRmSmjsJndJdBBJBJnlLS -hwhmRrzFVjtwzDmrVFrvPCcCMVPPvfqpCCTVVb -jRrRNPNRWjPRWPRQNjQjThTCzBBzDCFBGzgDFGGQ -dnppLwmwCnvtlqltvtnTGBThGhdFZhgzDzGccD -MvnqpLlMqCqCHMjWPPHMSHSs -NNpNNvpvBdtTrMFFMhSSwzjzchzwhzwL -VVndHqflQZZZgHSLLhjzRSmZRhcR -glGgnqbQlngnWCGJpJprtrtFrdPPGs -WqwRjzGtRzZZRRGjWBJzjwmfMTHGGssTTDsrLmmmQLMD -SNdvSdFlSNNhSPFFcPFclbQQslHmfHTDsTQMLgDTmHQQ -CNcCFvpdnWpjWwJf -PVPnVHcnRncGZqbVzHVPnnLbSMjwrzWMjSwDtWwWtwWhwDWz -pTfsQCshCllpglWWSjBMSQSrMrjM -hvpvppggCpJTvTmshgfsmZRRHqbcLPHZmPLRnmPZ -LQbhVZZmZhZjBdbGmgHqnHTmvqgnnWHr -SzCfDFFNRfsSFFMFfvprvpWzqzgqTwHTvp -CDNDFJgMDSQhjVdPJLQG -plpdLdpjjrrHJJjLrrHLFdbzzCcvzgFgcwggzPMFvvcMhM -GRtSBQNsQlMPRzRlzw -ZSTtsmBlmjLLpnpH -hglGNVSdNSghzSgCBhDFLBMBtFMMFtHtbtLL -frQZccRcqGFmFHrJ -nvfGZwvTwGTfQwvfTwfgnCSlpdnzgzslppCsCV -snTSPbQnTTnQgbmsTJsLfZwjffhpLnGRjpGfjL -dcNWcNHHlNtWHHlCtltWNFNMLZwjpGfpmrZfrFprrRGpwZfp -HmdNWCmDMVvQPDgqJs -GGFtSngQLfnSnQffgPnRgFRGRwmRJvwbBbJDwjvTbjrwhJvJ -WHClslcNNWcqNWlCZdcHsVrThBwBjbhDTDBhrvDZJTwm -NWVqqcHHNpsNcNVdVlhCMlHQQMQQzLfzQPttFGPMLSLgtF diff --git a/day-3/main.zig b/day-3/main.zig deleted file mode 100644 index 57057bf..0000000 --- a/day-3/main.zig +++ /dev/null @@ -1,46 +0,0 @@ -const std = @import("std"); - -pub fn puzzle_1(input: []const u8) u16 { - var iter = std.mem.split(u8, input, "\n"); - - var count: u16 = 0; - while (iter.next()) |line| { - var p1: u64 = 0; - var p2: u64 = 0; - - for (line[0 .. line.len / 2]) |_, i| { - p1 |= @as(u64, 1) << @intCast(u6, line[i] - 65); // 65 == 'A' - p2 |= @as(u64, 1) << @intCast(u6, line[i + line.len / 2] - 65); - } - - count += char_to_priority(@intCast(u8, 65 + 63) - @clz(p1 & p2)); - } - - return count; -} - -pub fn puzzle_2(input: []const u8) u16 { - var iter = std.mem.split(u8, input, "\n"); - - var count: u16 = 0; - mainLoop: while (true) { - var parts = std.mem.zeroes([3]u64); - - for (parts) |*p| { - const line = iter.next() orelse break :mainLoop; - for (line) |_, i| { - p.* |= @as(u64, 1) << @intCast(u6, line[i] - 65); - } - } - - count += char_to_priority(@intCast(u8, 65 + 63) - @clz(parts[0] & parts[1] & parts[2])); - } - - return count; -} - -fn char_to_priority(char: u8) u8 { - if (char >= 65 and char <= 90) - return char - 38; - return char - 96; -} diff --git a/day-3/util b/day-3/util deleted file mode 120000 index 40c3fc5..0000000 --- a/day-3/util +++ /dev/null @@ -1 +0,0 @@ -../util \ No newline at end of file -- cgit v1.2.3