SÄ hÀr ser max lÀsbarhet ut utan kommentarer, motsatsen till OneLiners.
C# .Net 5
public static string Run1()
{
int _Day = 2;
string[] inputData = InputData.GetInputArrString(_Day);
bool foundSolution = true;
int validCount = 0;
foreach (string item in inputData)
{
string[] parts = item.Split(":");
string[] rule = parts[0].Split(" ");
string[] counts = rule[0].Split("-");
int from = Helper.toInt(counts[0].Trim());
int to = Helper.toInt(counts[1].Trim());
string character = rule[1].Trim();
string pwd = parts[1].Trim();
int count = pwd.Length - pwd.Replace(character, "").Length;
if (count>=from && count<=to)
{
validCount++;
}
}
if (foundSolution)
{
return validCount.ToString();
}
return "FAIL";
}
public static string Run2()
{
int _Day = 2;
string[] inputData = InputData.GetInputArrString(_Day);
bool foundSolution = true;
int validCount = 0;
int invalidCount = 0;
foreach (string item in inputData)
{
string[] parts = item.Split(":");
string[] rule = parts[0].Split(" ");
string[] counts = rule[0].Split("-");
int pos1 = Helper.toInt(counts[0].Trim());
int pos2 = Helper.toInt(counts[1].Trim());
string character = rule[1].Trim();
string pwd = parts[1].Trim();
bool pos1v = pwd.Substring(pos1 - 1, 1) == character;
bool pos2v = pwd.Substring(pos2 - 1, 1) == character;
if (pos1v ^ pos2v)
{
validCount++;
}
else
{
invalidCount++;
}
}
if (foundSolution)
{
return validCount.ToString();
}
return "FAIL";
}