about summary refs log tree commit diff
path: root/Day4.cs
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2019-12-05 01:19:39 -0500
committerBen Harris <ben@tilde.team>2019-12-05 01:19:39 -0500
commit5b4353d91fd80a2f060ce15ebe95e8d316373671 (patch)
tree35ebc3d4c9b17851da6002626cb8a781ceba1c38 /Day4.cs
parentb0c565618b16a1fbe207eaec3c78330a59be9892 (diff)
tidy up, refactor program.cs by day
Diffstat (limited to 'Day4.cs')
-rw-r--r--Day4.cs24
1 files changed, 11 insertions, 13 deletions
diff --git a/Day4.cs b/Day4.cs
index 695ccac..7394f3d 100644
--- a/Day4.cs
+++ b/Day4.cs
@@ -1,21 +1,19 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
+using System.IO;
 using System.Linq;
 
 namespace aoc2019
 {
     internal class Day4 : Day
     {
-        int start, end;
+        public override int DayNumber => 4;
+
+        private readonly int start;
+        private readonly int end;
 
         public Day4()
         {
             var range = File.ReadLines("input/day4.in")
-                .First()
-                .Split('-')
-                .Select(i => int.Parse(i))
-                .ToList();
+                .First().Split('-').Select(int.Parse).ToList();
 
             start = range[0]; end = range[1];
         }
@@ -34,20 +32,20 @@ namespace aoc2019
             return i >= start && i <= end && hasDup;
         }
 
-        public override void Part1()
+        public override string Part1()
         {
-            Console.WriteLine(Enumerable.Range(start, end).Count(i => IsValid(i)));
+            return $"{Enumerable.Range(start, end).Count(IsValid)}";
         }
 
         private bool HasOnePair(int i)
         {
             var s = i.ToString();
-            return s.Select(c => s.Count(j => j == c)).Any(c => c == 2);
+            return IsValid(i) && s.Select(c => s.Count(j => j == c)).Any(c => c == 2);
         }
 
-        public override void Part2()
+        public override string Part2()
         {
-            Console.WriteLine(Enumerable.Range(start,end).Count(i => IsValid(i) && HasOnePair(i)));
+            return $"{Enumerable.Range(start,end).Count(HasOnePair)}";
         }
     }
 }