aoc2017/csharp/BScottDay1.cs

49 lines
1.5 KiB
C#

using System;
using System.IO;
namespace AOC2017
{
class BScottDay1 : BScottSolution
{
public override string Name => "Day 1: Inverse Captcha";
public override void Run()
{
string input = "1122";
Console.WriteLine($"Example 1: {CalculateSumPart1(input)}");
input = "1111";
Console.WriteLine($"Example 2: {CalculateSumPart1(input)}");
input = "1234";
Console.WriteLine($"Example 3: {CalculateSumPart1(input)}");
input = "91212129";
Console.WriteLine($"Example 4: {CalculateSumPart1(input)}");
input = File.ReadAllText("BScottDay1.txt");
Console.WriteLine($"Part 1 Answer: {CalculateSumPart1(input)}");
Console.WriteLine($"Part 2 Answer: {CalculateSumPart2(input)}");
}
static long CalculateSumPart1(string input)
{
long sum = 0;
for (int i = 0; i < input.Length; i++)
if (input[i] == input[(i + 1) % input.Length])
sum += int.Parse(input[i].ToString());
return sum;
}
static long CalculateSumPart2(string input)
{
long sum = 0;
int step = input.Length / 2;
for (int i = 0; i < input.Length; i++)
if (input[i] == input[(i + step) % input.Length])
sum += int.Parse(input[i].ToString());
return sum;
}
}
}