2015 day 10
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
96bfa4296f
commit
2de2266e18
|
@ -15,6 +15,7 @@ public class Test2015
|
|||
[DataRow(typeof(Day07), "3176", "14710")]
|
||||
[DataRow(typeof(Day08), "1342", "2074")]
|
||||
[DataRow(typeof(Day09), "117", "909")]
|
||||
[DataRow(typeof(Day10), "492982", "6989950")]
|
||||
public void TestAllDays(Type dayType, string part1, string part2)
|
||||
{
|
||||
Common.CheckDay(dayType, part1, part2);
|
||||
|
@ -30,6 +31,7 @@ public class Test2015
|
|||
// [DataRow(typeof(Day07), "", "")] // test input doesn't have "a" wire
|
||||
[DataRow(typeof(Day08), "12", "19")]
|
||||
[DataRow(typeof(Day09), "605", "982")]
|
||||
[DataRow(typeof(Day10), "237746", "3369156")]
|
||||
public void CheckTestInputs(Type dayType, string part1, string part2)
|
||||
{
|
||||
Day.UseTestInput = true;
|
||||
|
|
|
@ -5,11 +5,49 @@
|
|||
/// </summary>
|
||||
public sealed class Day10 : Day
|
||||
{
|
||||
private string _seed;
|
||||
|
||||
public Day10() : base(2015, 10, "Puzzle Name")
|
||||
{
|
||||
_seed = Input.First();
|
||||
}
|
||||
|
||||
public override object Part1() => "";
|
||||
public override object Part1()
|
||||
{
|
||||
for (var i = 0; i < 40; i++)
|
||||
_seed = string.Concat(LookAndSay(_seed));
|
||||
|
||||
public override object Part2() => "";
|
||||
}
|
||||
return _seed.Length;
|
||||
}
|
||||
|
||||
public override object Part2()
|
||||
{
|
||||
for (var i = 0; i < 10; i++)
|
||||
_seed = string.Concat(LookAndSay(_seed));
|
||||
|
||||
return _seed.Length;
|
||||
}
|
||||
|
||||
public static IEnumerable<int> LookAndSay(string data)
|
||||
{
|
||||
var currentDigit = data[0];
|
||||
int count = 1, place = 1;
|
||||
|
||||
while (place < data.Length)
|
||||
{
|
||||
if (data[place] == currentDigit) count++;
|
||||
else
|
||||
{
|
||||
yield return count;
|
||||
yield return currentDigit - '0';
|
||||
currentDigit = data[place];
|
||||
count = 1;
|
||||
}
|
||||
|
||||
place++;
|
||||
}
|
||||
|
||||
yield return count;
|
||||
yield return currentDigit - '0';
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
111221
|
Loading…
Reference in New Issue