diff --git a/2022.csproj b/2022.csproj index 2c5eb2b..9c5e18c 100644 --- a/2022.csproj +++ b/2022.csproj @@ -21,6 +21,9 @@ Always + + Always + diff --git a/Day 02/Day02.cs b/Day 02/Day02.cs index fcff41e..59ecffd 100644 --- a/Day 02/Day02.cs +++ b/Day 02/Day02.cs @@ -16,22 +16,23 @@ { if (PossibleScores == null) { - PossibleScores = new Dictionary(); + PossibleScores = new Dictionary + { + // Rock combos + { OpponentRock + " " + PlayPaper, Paper + Win }, // win + { OpponentRock + " " + PlayRock, Rock + Draw }, // draw + { OpponentRock + " " + PlayScissors, Scissors + Lost }, // lose - // Rock combos - PossibleScores.Add(OpponentRock + " " + PlayPaper, Paper + Win); // win - PossibleScores.Add(OpponentRock + " " + PlayRock, Rock + Draw); // draw - PossibleScores.Add(OpponentRock + " " + PlayScissors, Scissors + Lost); // lose + // Paper + { OpponentPaper + " " + PlayScissors, Scissors + Win }, // win + { OpponentPaper + " " + PlayPaper, Paper + Draw }, // draw + { OpponentPaper + " " + PlayRock, Rock + Lost }, // lose - // Paper - PossibleScores.Add(OpponentPaper + " " + PlayScissors, Scissors + Win); // win - PossibleScores.Add(OpponentPaper + " " + PlayPaper, Paper + Draw); // draw - PossibleScores.Add(OpponentPaper + " " + PlayRock, Rock + Lost); // lose - - // Scissors - PossibleScores.Add(OpponentScissors + " " + PlayRock, Rock + Win); // win - PossibleScores.Add(OpponentScissors + " " + PlayScissors, Scissors + Draw); // draw - PossibleScores.Add(OpponentScissors + " " + PlayPaper, Paper + Lost); // lose + // Scissors + { OpponentScissors + " " + PlayRock, Rock + Win }, // win + { OpponentScissors + " " + PlayScissors, Scissors + Draw }, // draw + { OpponentScissors + " " + PlayPaper, Paper + Lost } // lose + }; } } @@ -39,22 +40,23 @@ { if (PossibleScores == null) { - PossibleScores = new Dictionary(); + PossibleScores = new Dictionary + { + // Rock combos + { OpponentRock + " " + PlayWin, Paper + Win }, // win + { OpponentRock + " " + PlayDraw, Rock + Draw }, // draw + { OpponentRock + " " + PlayLose, Scissors + Lost }, // lose - // Rock combos - PossibleScores.Add(OpponentRock + " " + PlayWin, Paper + Win); // win - PossibleScores.Add(OpponentRock + " " + PlayDraw, Rock + Draw); // draw - PossibleScores.Add(OpponentRock + " " + PlayLose, Scissors + Lost); // lose + // Paper + { OpponentPaper + " " + PlayWin, Scissors + Win }, // win + { OpponentPaper + " " + PlayDraw, Paper + Draw }, // draw + { OpponentPaper + " " + PlayLose, Rock + Lost }, // lose - // Paper - PossibleScores.Add(OpponentPaper + " " + PlayWin, Scissors + Win); // win - PossibleScores.Add(OpponentPaper + " " + PlayDraw, Paper + Draw); // draw - PossibleScores.Add(OpponentPaper + " " + PlayLose, Rock + Lost); // lose - - // Scissors - PossibleScores.Add(OpponentScissors + " " + PlayWin, Rock + Win); // win - PossibleScores.Add(OpponentScissors + " " + PlayDraw, Scissors + Draw); // draw - PossibleScores.Add(OpponentScissors + " " + PlayLose, Paper + Lost); // lose + // Scissors + { OpponentScissors + " " + PlayWin, Rock + Win }, // win + { OpponentScissors + " " + PlayDraw, Scissors + Draw }, // draw + { OpponentScissors + " " + PlayLose, Paper + Lost } // lose + }; } } diff --git a/Day 03/Day03.cs b/Day 03/Day03.cs new file mode 100644 index 0000000..1916ae0 --- /dev/null +++ b/Day 03/Day03.cs @@ -0,0 +1,43 @@ +using System.Text; + +namespace Day_03.Day_03 +{ + internal class Day03 + { + public static string InputPath = "Day 03/day-03-input.txt"; + + internal static string GetPart1(byte[] data) + { + string[] rucksackData = Encoding.UTF8.GetString(data).Split(Environment.NewLine); + int priorityCount = 0; + + // go throu each ruchsack + foreach (string rucksack in rucksackData.Where(x => !string.IsNullOrWhiteSpace(x))) + { + // split the data line down the middel + string rucksackOne = rucksack.Substring(0, rucksack.Length / 2); + string rucksackTwo = rucksack.Substring(rucksack.Length / 2, rucksack.Length / 2); + char prioChar = rucksackOne.Where(x => rucksackTwo.Contains(x)).First(); + priorityCount += prioChar > 'Z' ? (prioChar - 'a' + 1) : (prioChar - 'A' + 27); + } + + return priorityCount.ToString(); + } + + internal static string GetPart2(byte[] data) + { + string[] rucksackData = Encoding.UTF8.GetString(data).Split(Environment.NewLine); + int priorityCount = 0; + + for (int index = 0; index < rucksackData.Length; index += 3) + { + // get the 3 ruchsacks + string[] ruchsacks = rucksackData.Skip(index).Take(3).ToArray(); + char prioChar = ruchsacks[0].Where(x => ruchsacks[1].Contains(x) && ruchsacks[2].Contains(x)).First(); + priorityCount += prioChar > 'Z' ? (prioChar - 'a' + 1) : (prioChar - 'A' + 27); + } + + return priorityCount.ToString(); + } + } +} diff --git a/Day 03/day-03-input.txt b/Day 03/day-03-input.txt new file mode 100644 index 0000000..28b7adb --- /dev/null +++ b/Day 03/day-03-input.txt @@ -0,0 +1,300 @@ +GbccTtTSGGbgrcWBGGrdgTnVQnCmNpCJlNnNPVfClcnN +vMzvZhzhwDLVmQnClwwNQp +FRsZFzjQFsqRzRRjDZbdtTgdHBBWGrdBdHHs +HCLTmbCLgzNBNPSSlT +JJGMWRJMrrdwWWGjGWMLRGLjBzNQsBzPPfflzDPBsBffDrQz +pwJdLMjdMddWjLtwZWMMwGtHhnvnCnhvqVFFZnvbgbqVCZ +tvMCDCSVVvDDBQFRbqWMMsWgFWgc +BLLPTpBmfLPrHLLfLsbhRqbzRRcRHgqssR +dfdNLmPTdNZmZdZPfpmTJLPPSvQjtSGVwQSDJSjSwDQBVCGw +wZWTWNFqzwZbWNpSgGMVMtTHsgGs +nlnPnPvLQjzdtsjBHBMMGSHg +LdnrrLnhRdLLmLDRPvmdQnJDJWNqcCqZJZqfFqfcfzcq +vPTbfWggzvGVqjsVqV +dDcJHZcZHmMFQQMshsjcRqVChjNtqh +dDHJDmFnrJmQFnBdMdQHJdZZlWTTPPjTLWbTzLWlTTfwjzBT +VfmDHDfZzfLcZLLLHBFQtRJTcdjgdTgFjjtR +WRPhMlGSshPRGgvFMtddTjjCQt +SPhWPsbNWShsWllswGpzLmzfZwmZfqLVRrDBZB +MtZgRgJJbbGjgDDgbjRjRbGcNdWwncBFdLBBMhFBQwnWnw +vlpsNVsCzzfHpvTpzlSSSvppcQdfnwnWhndWndwfQLhnhcFQ +pCsCCTHVvSzvPvHvzpPVTVHHRJJDgJZjJjqNmjZmDtJRZPNR +GTGTbhhPjJJjBhhZsGzmfHSNsmHHgSdL +FcFpMDFDRFfsRHSjmLjR +CpFjqcCjwjnpwhTPTWBQZZTb +zdzzwDlnTDQQQQnqQqqsFqnrSBSprbpjNJJBJPPdpJfbZb +hgMcRVGMtHgRcNSPrpfgfjJpBp +CLRHVHhtvtvGPWFFDqPDLnqP +jssjjjHCSGCMNJTWWCJT +DvcvBtVrrDSNWcMfLRfM +ppDZSpBhBvBmvDHnFsHHPnGPGbQp +VVVLsLWnjVVBGgScjtBjjLLgmJdPmJmfmhmGmmmNmJGhPNJP +QbqlZqQTZvMHmshvFhPfffFp +CsTRrQrwbCbrZqQTQlRjtDBSBtwBjgVWLBtgBt +FLsSFRTPscHZmGRGGc +npNNptgttCNpgLbnQMgnQnMNqVhGqZrmrmmqrmcrqmCVZwqH +WMWbtpjLgnLNvSfPPzjvjPdv +FcFFhZlhlMrHlSFSrHZMJZSVmmLmVLLCsBtLBCzCBVDRcV +PMGPbndvGfGstLzDCmLB +NwjPqdvPpvgddqgwHrZhJlTlThpWJMZp +SdjStScTWTwwvwwfjRhQPQQQDlLBGpLrPrLrLc +gCqJbNsVsNMgzMJnnqzNlCLGGlZZPrLLlLLtpPDl +JsFJFMmbJqqnJbhSHdjWwjtmHWvS +zBFDGGbNzDWRbDccsWslHlWWsJcS +zMVqTwzPfVfVMwmlcZTZZlSmTlmc +MrMvMCnrMVMCPrPnDFFGgQdFgRdzznbd +rJtJnrnSShJgcCsjjNNMSSDzRmzm +HWDWPBPDBfFVBffqplvlmNlQllvzQNQqlN +FVGHHFVbwBpBPwFFGfBpHVDgrcJCbZcLdCgtcCcJLJrd +MGHGGFFqbFTGmFwLmQsQflFN +WcvBdpjhdZdNwdZwLZ +vWtgVcpvjthtNcjntDhhpSJMSqHzqTzqCVHTSqHPGT +cVHZfjfZMcrSDQMJRCBCQw +PtGddtslsWQDBdwCDDdw +WsvTFnshPTGhGhhlPNGTCnsjgFVfmgfHZfVHgcHZVVFmFV +JFFqfJBgrHBffVHlsBFqfWNgjTtztNnttWWvWNwzwt +hGZbcBcZZSQmZLQRTbvNttTzjtTvbpzv +cmmhRchPZhZSSmdmGPDDdJdBVMffHlqlslfF +qWwTNwNHMHNNMRqMdRMQQMHLmmvzrTmrzPvzJvZvZlvzjZ +FphBpnBhVBSFvLljzZPpmrPL +nGsBbssbcbdlwggdNl +RLSRTLSFFFLPSWpzzTJdzsQpbd +DvqqcwVMDDcfrrnwDcwnvCdpQQphJhJjhdhpzsJhMQ +fGcvDZffcGGZDHGrGrtJRPlPmJSlPLRgNBHg +QlFFmGQFDQrrWlRlWGrnQVCLNvvPwLCwBvCcCcJCLCCm +tHtfsjSMCNPwzvCf +MjqStqMHsMSgjShjTttgphsTlrbDWGDrGlRTlNDbQrQRWRbD +QbChcCJCbHQCjbGCjQfsdsrtTqrfTLrcFftd +DwRzVzzZnzZRwvgRhRWtqsLLWtRdqLLdqd +NMwMzBVVPPSGQhBl +ttTPHWdrJjCdjnFMtLLtLNvQltLh +pSDBwZRBBsgfDGGsGpBVMFPQQlFMFQQFQfNvLNfF +PsppZzBVzwgDwBwwgpSSBssWjqrdCnjjHdmCTHznWCJJWn +WcdHdPcdZrLPDPBQDg +pMjMMqfmJlqNflMlFNRfLBwnLzTTTDJJwDTTGTLJ +hlhbqpbNNbVVdbZtSB +RDBWGRDnzBWBJDNBttSLlclldtQQcTTLFF +rTPVjZZsCZrVhdFMcgLgwFSgQh +PsjHVffbsTCHrCvTPfDJGJHNzzNJWnnnmzDB +LQdFgTLdQjVsQFTRBjMZrmBjWGMGSW +flvJJlJpbNnppCpMGGfBBZSZRfFmGr +NNbNDNlbDpHlbDDplvzvnCbzqsQPFQsTTccsqdQqLgdHLwQw +DnGDNDTFdFwDzCZZRmhThCRRRv +SgrPLrrLsBPbHBCmtVZVCdCcctHH +rSbgBrsqgsPppMBqfpPsLpPGlNGGDwNFNJWDldlllDwJMG +PWbvNWvpvJPnWDGqDjDczj +QwfFFVVQSMlDlQfFZhsHrBrhHHTcjnczqjzqrG +mwMSgfmDmSSFgfFNbmLpbRbJbvbRpC +lsggLLLDGldGTGBBhNTCwRwVnJnNCCnbRV +QQpWrpHtrHrpNRRJNtfbJCVR +PvQQFPzccvBglclNscls +NsszMMNGWLcWBhMF +gTtwvbqfnDTdpvqDftpnnntDZvLFQFBLmRWFRhJZJhLLBRQB +DwrpDbngprPWGllSNrSS +nCqdLPZPMMZLNvtGhRmGhGPmtW +TSrVZVSZVwFTgSVtrtchvWRRrtWtcr +gjbjBjgTjfgfVfHHppBLMnqLMDnqClsZJLLD +hrqShCPCpHHBVBGWQFVQGFGnzQDf +tgvZsbwsbcMbRsgccjDGFvGFfWJLLzFFQJ +TTZmMcgmbmWZMctbbtsHrrqqSHHrCrPBBSCPrT +HHHNZLGLpBpRSvWlGlqhPghqDGnnFr +QCNCMTJdjMjdjsQTbdQmmCQDngFqnggPFcPcnPFcDqcbDn +MNJfzNsfJdJjdzwMNjjTJttSHVStRtZVwHvWRWtZHt +DSbvDdDbbwHgCSgZPwpbPgmTTJhsTTChqTJssQssFmJJ +zzjMNNGMMRcNNhvnvFqmtJJv +WWffvlVrcGzGlcjLvfrVRLHgHgpDPSbPpwwHbWbBbPPH +FCCjjFlFtCjzlpTHtJsQTTcpTT +DWLhWSgDWWdSWLwmmpHHQTHcBTBvvwHvHl +mgGRhrLLgWqnjrfCNlzP +cLsslBlsqNNTHlTVNbLZZLRCQbZZdQdpbP +JGfJhhwfwBBSJPRdZddpZRQbfR +hWmWGgDhJrFhBcWsssWHvHll +lmmvlJFtMHFtQzVSRbPGzLJRgG +BcTcrNBrrwwqDBqNqwcrhLpLPVzRhPRPPPgSGVPLbS +TrDqcnsTcsmnvHtdGtMW +CcnDQpSDcnFcPBrmbPQGBsGB +gCtCfRZTBWbjPRbr +qgvHqgJhMfZTtvHgfTghJgMJDpdppFSLLCcSDvLLcdDwvLcw +ffFgGRMWSTGcnDgllDDpDp +dvSdHBrVSLNVLjdlsllcsDqpsZ +SHHHNrLJLvtNQJVvmMfGRGGRCJWJRwzWMh +JNpNDfDBDHVzwHHzpzBWVBPsvsFNCbmbqsFFNsjCmvsmNC +rnnrtLhnrrQZMvtFbWmqtllcFb +GQRdGQLLhMSQhZLZdgdwwHzPDzSVWzVDwJDVpz +LdcGjgdcrMDSFGVfnnGG +HNsCCQFCPvFFBJnnSBJVfDVJwf +HHFRqHPpNppmQPcpLjzrdgtbgztT +GlZZbclGZsDvlGhsShRnCnMQtjtQjnCQsQRM +PggFVcdFNFNNVVFLPdPdrwpWBMMnqMpnttJMnjMnQqtqQtqq +FdgcdcLwfTmSGTmhlbzG +RGvhGrLhhRhlpChZrGSprBdPPHJJSBgSSHqBWBBffH +mQmjmwtTMTVLzHnTPWffPHHJBf +jMmmwMcVcFLFrlRshZbCrF +SnNgNgBlNZSZdZtMrlnSnnQtjpwFwpvFJwFqpwSbqjjqGRpv +CLCcWHLhLTzsDPcCWMLGpFJbGFwsbvGwJwjpRv +zMCTPhmHWzfhQQmndNllNrQg +dbdBdZrQsrdrGslrrSpLvwHmlTmmwScTHv +FgnJqLDLWqNnNpppmpCSSmCJTw +NNhhnRNfzMhgnMDFfGdGLbBVVdQRtPVZGt +BBQJNTTzTcfRhtjhffqDDWCC +vZnsLsVLSvPwPFFnwPlSPgZWqGjChgWCCWWCMCgGMh +srLLnLmlPwrrPwmwwvlRqzQRJBmppQTTQpTdBN +PLDpZGpWbNGWLDfQmsQDwwsmhm +vTzMMbgCfgHQsmQt +VMlRznlzVnTcFzbMcrpJcNrJdjdpZrLdcZ +SftvFcDSvDHsFtctMSvbdjbpqpRRpRTJrMdrrb +QzQZWZnQgQZwBBwsJdqPjdjrnTpJjs +NGmwmgszhZwwGGgZGmggWLVSVHlNVVtDcDltFVVVlVHt +WCfFBfBHHjHHjgHBjJFVcVRwQMbVrRhrJbRRJM +sZMsDqzZPRrRrVswdc +vvTzDzpDTvpDvZPvSnNZZlSHMCHjjFtWmlttlCjmCF +hJZwhrvhBJRrPQPwRRZLllgLqfcqpTggpcTWMTff +HHDzMztbVgTzNpgf +nGbmtjDMFjDjCHbbbHHHdBQQPBrZvJQRwvwRPZQJGs +NNSrMSHRqWpWNNrNMvLffTBBDmsvcmcJLM +lwPPhcddcGPlBDTDlmDvJJsv +bZhzCdPGGFzVVPwVwbNtcqHrpnpZptSZqRrt +GvvSWhmhWBNcBDNc +FzlRRTljjRTjRRmZfbflRTlFFrrMrcBcDVqBVsNDDJsMFr +bttRfzfRHzjlmlnCbTtzbRShgwHGGvppLdpvwLLGLLhd +MHGMWdBFFNsFFHpWSFddMmqVmVBggmlVfbVffjgZml +hcJsTTscvsLDzDJmqVgfqbqnbmfJbJ +PvRTzsPwLcwCprSdwdNW +qfJnJdLpJzrcqCrCzcGfpRSSVBPRSjSSllTNRBdTRS +DbsbtggsbbsghhgvnWWSlVjPSjmmPBtjPNlTmS +vHHHHDHvZHQvWbWsZDgWhDwWzpfGfzfcpFJzczwFJrfffnGC +sQvsRQsFZvfpGhjhQqjpZvjGJHgngPBNHnCBJBCmSBmBNG +HTHwbtdTDDnCTPTT +zwMlVdzbzLzMWvQZRQZfZZlHsR +QhzWwRBPHgFrWWrH +SDgJCCDCsVpMMqTtFpfpqG +gJNCCddSZNSlljQzPPNBzR +dLzVVjfLGCCdRPrdmBtwWttr +NnbNsbTHJnbHbSHlNQsNtwrJRwBMMBhrPJWZRRtM +QSslpFvpSSsQPFCDqqgzcjCj +fcpGshsfNcNZsmRjNqCtnFgbCgHrrggmrn +QvzBlBBQBdJTBzBwVVMgbrwwLFtLtgLFHCHrbF +dlQQMBSSTPZfPcfssZNC +gNGVMzVpVVTdPDWdRdNT +BfjbnCBjBzffHrbrzBDddQWTZZQTTJTQTHHS +zrFncfBjcjnrrlCLwFgpmvFmwGmVLh +MbngccTfWgbWcTTzZghmLshhLRttpthRDLtf +CdFdJHCJjBvBSCNCNJBjjdjpsPDwDtwvptRPmLmzRwhhLR +qJSCCBFHQBFFldrVZZbggnGTzcZQ +lPrpppllcwwpHprppNdfLbQJnWdLJnncdN +tSjjjSSDGgghRbbSTfTbTFTLQn +jCBgDMbBMGghZzCZmmlrrpwp +FhCDFvvPwCjcLhDjhnvjnsdfZTlflQlflLsppdQfld +zPNSmmHrSSHWBNSMMVGzfGfZTZQZzdpdRGZR +WSNVVMMVtHSVbMNWBHqmwcvhcgwgvwtPvgtPDjtw +jSSSjzZMmgSzzwmZBtHcHmtNdncHtnpNcn +VsLsRsJJsTfRVfLRLJlfLlWqNbDcddncvpvbdvcnpqdpdtHq +GQQTsJGGJLlRGJFWffWLhgZwrZBZFZrhtBjrjjZw +ZfzJPvPnLvRJRfZLDfjfrBcqrgsgDBrcrGgslsms +SNhpqSNhpVTNQSMNgWmrlccVGBBmwrBw +QHHFhhNdTNHHfZPFqtqPRtjq +PMZSPSZZGMspsLhLRqRVzfGjvF +tcwwgcgbcbCrtbbtmQQcCqRffFLhRgqjFjRfhFqhqz +CLQtcbcmwmbdrbBrlrCwQTsTPsPsZNBPNWJpZWpTss +lMTrcHrhChWnRzJrznnr +DDJbPwjLJpfBQjPVBpbsGVGVWnZnsqnZsnzsqZ +wJQLbpPJDLfgPbDNCHNlghNCMhcNcl +tlVZhlVWtnBltVtssZBBbPbcpdPwbPWfvcbLvbbb +NwCTFNFDNdSNPpLpfN +CGwRjwDjzFFGRGjjFRjlBtZqMzVVtVqhMZMBZn +HhFdMFHhgrdjcZtZjr +zvvQQvzwzDMjZTjtcrTDtt +BwMwSvQSVlzQlMQzwzNgGHPGGHFCCCgGhsHLCS +zMVtBhhVhhDhtzBtMTTfDrPbmRRmPbQmrQbNQGRQtR +vLlJHgnLpDvHHvHvmPbSQbQRGmJmPRrb +pspwHClCwqplsHqDsMMTFWsWfjzszf +CmmjLwWSWGCHCjwSmStJBgQcccBhwgQtgthQ +WZVFTpqWsMsZpFddzszbVzJQBnRtrQthchdBgtgRtdrc +bbsMTWsMVsZqNZMpqWDqbMsCjvlCfjGCPlLLPLCmSCfCLN +VzsjjVGhpjJrJHCppprt +WtMnqtWdSQDtMRSnLNHHwHwQvrJrJCPN +tTtWSScTddBqdRMmlsbFBfhVBhfjjF +gLMWzdTgLFQHdlMgMRwcwhqqvPcPhVFRDF +tBnGrSCZNZCrtGBsSNGtBPhcgfchqqDPwVPRvNRqwN +CmrgstjZngtBzbjJlQWWHjjM +qttwGWHtVPzJJPqbmb +NrRvfTTghNrpLrrpLTrNrRrhvJmzmzlbbVVbdbdZlDdvzMPb +rfcprNcfgpLrVNnnCcnnscstFGCF +ZZhTfggZsbshGrfshMrNMCSRMMWqCqMNRq +TVTJPDTFccqMCcJw +BBLBmLTLDHFvsQpfgnZhbQvG +ffSrFvVVmVCQSfVDFzDvDDmmnGWCRqGRWNNqlttnRsNtGnWW +PgZQgPJJpTpTHRGtNRGWqZMWWR +wdTdwgbPJTJgTgLSFBbrQvSrFrVS +ppssshsscCVCHhVWVpznnQRBnZnBbzczFPRS +dqqfJGWttfWGlwwPSbFbZnRFPFtFZS +wGwdGdddLfGgMTJfwLMlJMpTCChjHhjTHpjjhmsDHmHW +PZQBhRPQBQrWHFHqHFHCqh +STQSvvvppzSVHJJFWjHC +TTgTvbsbszcNnnvbncvRGPBRtRgQrDPLfftPPR +dMltttpQhmQVZdmhsdrvNCHvlWbHWvHCWrlr +PzzLTGpGPDzFBzqFGFqFvHWHvRJbbrbWvCvjJCLv +BpqTBzpzfGGTTPZtSddtQmVffSst +bwHbRZldhQQfDWWGDjBf +CzvgpsNMsvCvFvpszpnMsFgBTDBDWPnPVJJZZDJnfjDTff +CpcLsFrMZbhRcdmt +HgjpWlhzpWjhWTQPFdPBRQzTMQ +JsfwrqLttwJVLGhRQGGPBd +CttfrqDmDDtCsbZCHjhZHSHNlgcW +QSdCWlCRhWRdlrlZrDssZsGDbv +pjPrpjqFNrZNGnBbsNDG +wjjVHjfLQRCgdLrC +PjMpRdBdjMSGsjpdprqtwCrNGrrNlthhrG +WQzDzLZDgzZcqlqqrtJclJnh +zbWHQHDfDWZHfLZHfffWVZpRSPpdVvBSPMqVMPjdvspS +TMBJLTJlFHBjFFtMGngpvvpgvQmtNSNngv +bVhsZswRCbbVZWVfVZwVSpmSQPPvNHwPHmgmSSNN +dCCVZZcbWVVcCbbfsLrdjFMJdDDHBTMrjr +vNWcTWnCqNCPPjhhHsQrfgszrTJRQsfRQD +wLdwMBLFBBQJpszJBqzB +lLwVmMSmttVMlSNqcbcbSbNcvHbh +PVfJfDWrPVPPLcPPFWcjPrqlqqQsljRpplqBQpRvSQvs +NdggMTCChMgdChNmdtTbtmsQSRhQslhlpFRpFwllwQvw +CdnGzbGbgMGMdTCZZDDJcZFDDnWrPH +fsshhnfLZSvcVbdcZVJj +RCCSmDFFpRqHQDgWvbGjgjDdbG +pFmFtCSBCSMBBLwrPsBPNlNB +fWWcwbbwbWfGCPgPfvbwgvgcQQqQLsGLJQTZHHrZRsrLqlJs +VnszmsDBpMFpzNFlrlRLRRHZqRHr +VpdzDMNzNDjpsdzdnzDcPCwtWCjhbthvfgtgwP +SPQtSWDLLltQQctHLSBSWHlWgFwhMRsgwggrFJPgdgwwGJhJ +nCqmfVqfVjTznCMhsGRRRgGFMffw +mCnNTVzVvjmqNtlDtbttDlBM +LjctjtppFWmgthgs +nBrNvzTqlDJlbbZgvmhMZVZb +JJrnTrrgGDqDPwwSPHPpfjRdPc +sTQmCmmVqmJHSTjGdMMfMNNvNHvc +rFbzlLLWWPzwlWrlbwzrWbRvdfFjdjpvjfFNNMccphCvhN +rrWzrwzPBBBCZTJgZg +gffvjftWddzZtbvdNvgZLwBBMJLSWMDMDDBRWRmS +PqPqpqcCnCpVqlClTQQmPMDwPRJJBLLLhS +VCGqlHmmHsjtHNsZ +mmMlVllWmhmmBzzLGMWlBmpstptPRRZpPMFJSpRsFRFs +DgjnndQcNTCCCDNcdSRSdtZPfwfwJSJJ +gQjCQqQjHNnjDCgHNcZGZLhHzrLVLGzlrGmb +JfwfJpBgJSMphZqtqDDG +QcQrssrGCcMCVcMc +RnljPRnPjWbGRbjnjbvmSzwHfHgwfJHzdLFSwBFW +sBjbHCBCnjvsJCHBsbvwwJGfRNFFFfFGTcrVFffNHRTP +zDqdpqMgMtgzthgDtQmzGPTVSTVrVGTFSVFFqNRF +zDLdphmmLhMhDhQdlzgLLbjCnWswWWlrZJBswCJJZl +FMNrQFgrVwmrpJMwMTMPflbsHPTtlSbftSjCbC +zGnGnhnGzDqRLnZLHNHbbbHDlltNSjCl +nzddcRzzBnRRvRRhvnQFpmpgggJVcVmMQmgN +CCpMlhwwpJpdBlsdcjvtZDFrtmRqmDrsmv +gzVPbjSPfSPTTTPnWVSbbvDQZZDZrFWDvFDvmvQQmZ +LTbLTPgnTzLVPNNGnNTgVNPlGdHHCphMwHMwjMphlpjccl +rMMrqcrmJqJqmCsTPWWGGPzPlPPrGL +fnwqwwZwRnVlWWnzWBWlDP +jvVHvqfpJmhtHJtH +NLMVQjRNTJCTJtZTJc +DlGlGHvFHGDgcFCtfhCJFtZc +DBHGGGSDvGDPHWBGdBbSvgWDNVMjLLRnmNmjPLNPNcRQVnjj +tsGdTJdJtNllzjGRzm +HZvvDLLWqbBBMRMRNjVhHRmn +vZDCvqqgBDZZjbZDrWqBvpdpFpcdpCJcPTSJJtptpP \ No newline at end of file diff --git a/Program.cs b/Program.cs index fa7c977..f848d0f 100644 --- a/Program.cs +++ b/Program.cs @@ -1,4 +1,14 @@ -using Day_02.Day_02; +using Day_03.Day_03; +using System.Text; -Console.WriteLine($"Max value: {Day02.GetPart2()}"); -Console.ReadKey(true); \ No newline at end of file +byte[] data = Encoding.UTF8.GetBytes(@"vJrwpWtwJgWrhcsFMMfFFhFp +jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL +PmmdzqPrVvPwwTWBwg +wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn +ttgJtRGJQctTZtZT +CrZsJsPPZsGzwwsLwLmpwMDw"); + +byte[] dataArray = File.ReadAllBytes(Day03.InputPath); + +Console.WriteLine($"Max value: {Day03.GetPart2(dataArray)}"); +Console.ReadKey(true); \ No newline at end of file