AdventOfCode2022/Kalender/day3.cs

91 lines
2.5 KiB
C#
Raw Permalink Normal View History

2022-12-05 12:43:11 +01:00
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Kalender
{
internal class day3
{
2022-12-12 12:27:41 +01:00
static string file = "../../../files/day3.txt";
2022-12-05 12:43:11 +01:00
static string letters = "0abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
static string[] lines = File.ReadAllLines(file);
static List<string> bag1 = new List<string>();
static List<string> bag2 = new List<string>();
static int sum = 0;
public static void day3_part1()
{
Console.WriteLine(letters.Count());
foreach (string line in lines)
{
bag1.Add(line.Substring(0, (line.Length / 2)));
bag2.Add(line.Substring(line.Length / 2));
}
for(int i = 0; i < bag1.Count; i++)
{
foreach(char c in bag1[i])
{
if (bag2[i].Contains(c))
{
for(int j = 0; j < letters.Count(); j++)
{
if(letters[j] == c)
{
sum += j;
}
}
Console.WriteLine(c);
break;
}
}
}
Console.WriteLine(sum);
}
public static void day3_part2()
{
int counter = 0;
int start = 0;
char bla = ' ';
while (counter < lines.Count())
{
foreach(char c in lines[start])
{
if (lines[start].Contains(c) && lines[start+1].Contains(c) && lines[start + 2].Contains(c))
{
bla = c;
break;
}
}
for (int j = 0; j < letters.Count(); j++)
{
if (letters[j] == bla)
{
sum += j;
}
}
Console.WriteLine(sum);
start += 3;
counter +=3;
}
}
}
}