public void Reports_AddTo2020_Product(string input, int preamble, long expected) { XMAS x = new XMAS(input); long invalid = x.FindWeakness(preamble); Assert.Equal(expected, invalid); }
public override void Puzzle2() { int preambleSize = 25; int wrongPosition = 0; for (int i = preambleSize; i < input.Count(); i++) { if (!XMAS.CheckIfSumCanBeMade((input[i]), input.GetRange(i - preambleSize, preambleSize))) { Console.WriteLine($"{input[i]} Can't be made by combining 2 digits of the preamble"); wrongPosition = i; break; } } for (int j = 0; j < input.Count(); j++) { for (int k = 2; k <= input.Count() - j; k++) { if (XMAS.CheckIfSumCanBeMadeInList(input[wrongPosition], input.GetRange(j, k))) { long smallestNumber = input.GetRange(j, k).Min(); long biggestNumber = input.GetRange(j, k).Max(); Console.WriteLine($"The sum of {smallestNumber} and {biggestNumber} equals {smallestNumber + biggestNumber}"); } } } }
public void Example3() { var xmas = new XMAS(5); xmas.AddRange(ExampleNumbers2); Assert.AreEqual(new[] { 15, 25, 47, 40 }, xmas.FindContiguousSum(127)); Assert.AreEqual(62, xmas.FindWeakness(127)); }
public static void DoDay9() { string inputstring = System.IO.File.ReadAllText(@".\Input\DayNineInput.txt"); XMAS EncryptedData = new XMAS(inputstring, 25); int? weakness = EncryptedData.Weakness; int? answer = EncryptedData.Answer; System.Console.WriteLine("Weakness: {0}", weakness); System.Console.WriteLine("Answer: {0}", answer); }
public override void Puzzle1() { int preambleSize = 25; for (int i = preambleSize; i < input.Count(); i++) { if (!XMAS.CheckIfSumCanBeMade((input[i]), input.GetRange(i - preambleSize, preambleSize))) { Console.WriteLine($"{input[i]} Can't be made by combining 2 digits of the preamble"); break; } } }
public static void ExecuteDay(string fileLocation = "PuzzleInput/Day9.txt") { string allText = File.ReadAllText(fileLocation); var x = new XMAS(allText); while (x.CurrentValueValid) { x.currentIndex++; } Logger.LogMessage(LogLevel.ANSWER, "9A: " + x.CurrentValue); Logger.LogMessage(LogLevel.ANSWER, "9B: " + x.FindValueSumInContiguousData(x.CurrentValue)); }
public void Part1() { // Arrange var input = new string[] { "35", "20", "15", "25", "47", "40", "62", "55", "65", "95", "102", "117", "150", "182", "127", "219", "299", "277", "309", "576" }; xmas = new XMAS(input); // Act var actual = xmas.Hack(5); // Assert actual.ShouldBe(127); }
public void Example2() { var xmas = new XMAS(5); Assert.AreEqual(127, xmas[xmas.AddRange(ExampleNumbers2).First()]); }