From 72e81981a349096c6925cf8b162f513ec9d32da0 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Fri, 3 Dec 2021 12:08:15 -0500 Subject: [PATCH] refactor mostcommon at index --- aoc2021/Day03.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/aoc2021/Day03.cs b/aoc2021/Day03.cs index e1003c4..85e1c81 100644 --- a/aoc2021/Day03.cs +++ b/aoc2021/Day03.cs @@ -35,12 +35,14 @@ public sealed class Day03 : Day { var o = _report; var c = _report; + + char MostCommon(int i, IReadOnlyCollection report) => + report.Count(r => r[i] == '1') >= report.Count / 2.0 ? '1' : '0'; var i = 0; while (o.Count > 1) { - var most = o.Count(r => r[i] == '1') >= o.Count / 2.0 ? '1' : '0'; - o = o.Where(r => r[i] == most).ToList(); + o = o.Where(r => r[i] == MostCommon(i, o)).ToList(); i++; } var o2 = Convert.ToInt64(o.Single(), 2); @@ -48,8 +50,7 @@ public sealed class Day03 : Day i = 0; while (c.Count > 1) { - var most = c.Count(r => r[i] == '1') >= c.Count / 2.0 ? '0' : '1'; - c = c.Where(r => r[i] == most).ToList(); + c = c.Where(r => r[i] != MostCommon(i, c)).ToList(); i++; } var co2 = Convert.ToInt64(c.Single(), 2);