AdventOfCode/AdventOfCode.Solutions/2023/Day 19/Day19.cs
Rob Stoffelen 22a31d0b29 .
2023-12-19 08:45:27 +01:00

62 lines
1.9 KiB
C#

namespace AdventOfCode.Solutions._2023
{
public class Day19(InputReader reader) : IChallange
{
private InputReader _inputReader = reader;
public async Task<string> GetSolutionPart1()
{
return string.Empty;
}
public async Task<string> GetSolutionPart2()
{
return string.Empty;
}
}
internal static InstructionSet ParseLine(string line)
{
string[] nameSplit = line.Split('{');
// build the instructions
Instruction instruction = new();
for (int instructionIndex = 0; instructionIndex < nameSplit[1].Length - 1; instructionIndex++)
{
// first char is the Category
instruction.Category = nameSplit[1][instructionIndex++];
// second char is the operator
instruction.Operator = nameSplit[1][instructionIndex++];
// from third untill ':' is the compair value
string comp = nameSplit[1].Substring(instructionIndex, nameSplit[1].IndexOf(':'));
instruction.CompairValue = int.Parse(comp);
instructionIndex += comp.Length + 1; // skip the :
// if true value
instruction.resultTrue = nameSplit[1].Substring(instructionIndex, nameSplit[1].IndexOf(','));
instructionIndex = instruction.resultTrue.Length + 1; // skip the ,
// if false value
// check if the instructionIndex + 1 is an operator
if (nameSplit[1][instructionIndex + 1] == '>' || nameSplit[1][instructionIndex + 1] == '<')
{
}
}
}
internal class InstructionSet
{
public string Name { get; set; }
//public string Process
}
internal class Instruction
{
public char Category;
public char Operator;
public int CompairValue;
public string resultTrue;
public string resultFalse;
}
}