diff --git a/Day6.cs b/Day6.cs index 36e3c81..11a439b 100644 --- a/Day6.cs +++ b/Day6.cs @@ -1,5 +1,6 @@ #define Day6 #if Day6 +using System.Diagnostics; var fish = File.ReadAllText("day6/input").Split(",") .Select(long.Parse) .GroupBy(x => x) @@ -31,4 +32,17 @@ Dictionary Copy(Dictionary dict) { return dict.ToDictionary(entry => entry.Key, entry => entry.Value); } + +// O(n) +long[] fishAsArray = fish.OrderBy(x => x.Key).Select(x => x.Value).ToArray(); +int i = 0; +int days = 256; +int spawn = 6; +while (days > 0) { + int newSpawn = (i + 7) % 9; + fishAsArray[newSpawn] += fishAsArray[i]; + i = (i + 1) % 9; + days--; +} +Console.WriteLine(fishAsArray.Sum()); #endif \ No newline at end of file