blob: 60687c5d302c3a0ef35f16556777908dd8c3dbbe (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
namespace aoc2021;
/// <summary>
/// Day 6: <see href="https://adventofcode.com/2021/day/6"/>
/// </summary>
public sealed class Day06 : Day
{
private readonly long _p1, _p2;
public Day06() : base(6, "Lanternfish")
{
var fishes = Input.First().Split(',').Select(long.Parse).ToList();
Dictionary<long, long> counts = new();
for (var i = 0; i <= 8; i++)
counts[i] = fishes.Count(x => x == i);
for (var i = 0; i < 256; i++)
{
var breeders = counts[0];
for (var j = 0; j < 8; j++)
counts[j] = counts[j + 1];
counts[6] += breeders;
counts[8] = breeders;
if (i == 79) _p1 = counts.Values.Sum();
}
_p2 = counts.Values.Sum();
}
public override string Part1() => $"{_p1}";
public override string Part2() => $"{_p2}";
}
|