ben
/
aoc
1
0
Fork 0
aoc/AOC2016/Day06.cs

45 lines
1.1 KiB
C#
Raw Normal View History

2022-12-03 05:55:49 +00:00
namespace AOC2016;
/// <summary>
2022-12-03 05:41:38 +00:00
/// Day 6: <a href="https://adventofcode.com/2016/day/6"/>
/// </summary>
2023-11-25 18:46:47 +00:00
public sealed class Day06() : Day(2016, 6, "Signals and Noise")
{
2023-11-26 02:05:01 +00:00
private List<string>? _input;
2023-11-25 23:10:12 +00:00
2023-12-01 07:30:47 +00:00
public override void ProcessInput() => _input = Input.ToList();
2023-11-25 23:10:12 +00:00
public override object Part1()
{
2023-11-26 02:05:01 +00:00
var answer = new char[_input![0].Length];
2023-11-25 23:10:12 +00:00
for (var i = 0; i < _input[0].Length; i++)
{
answer[i] = _input
.Select(l => l[i])
.GroupBy(c => c)
.OrderByDescending(g => g.Count())
.Select(g => g.Key)
.First();
}
return new string(answer);
}
2023-11-25 23:10:12 +00:00
public override object Part2()
{
2023-11-26 02:05:01 +00:00
var answer = new char[_input![0].Length];
2023-11-25 23:10:12 +00:00
for (var i = 0; i < _input[0].Length; i++)
{
answer[i] = _input
.Select(l => l[i])
.GroupBy(c => c)
.OrderBy(g => g.Count())
.Select(g => g.Key)
.First();
}
return new string(answer);
}
}