diff --git a/AOC2022/AOC2022.csproj.user b/AOC2022/AOC2022.csproj.user
index 36d9b15..be47c2d 100644
--- a/AOC2022/AOC2022.csproj.user
+++ b/AOC2022/AOC2022.csproj.user
@@ -4,6 +4,6 @@
ProjectDebugger
- WithoutParams
+ WithParams
\ No newline at end of file
diff --git a/AOC2022/Program.cs b/AOC2022/Program.cs
index a876ddb..a5070cc 100644
--- a/AOC2022/Program.cs
+++ b/AOC2022/Program.cs
@@ -1,7 +1,5 @@
using AOC2022.Puzzles;
-using System.Linq.Expressions;
-
namespace AOC2022;
internal static class Program
@@ -37,11 +35,9 @@ internal static class Program
return;
}
daysToProcess.Add(dayNumber);
-
}
ProcessDays(daysToProcess);
}
-
}
catch (Exception e)
{
@@ -63,6 +59,7 @@ internal static class Program
{
if (Activator.CreateInstance(typeName, new object[] { linesInFile }) is IPuzzle puzzle)
{
+ Console.WriteLine($"Day {day} answers");
puzzle.FirstPuzzle();
puzzle.SecondPuzzle();
}
diff --git a/AOC2022/Properties/launchSettings.json b/AOC2022/Properties/launchSettings.json
index 2ac8753..0a2369f 100644
--- a/AOC2022/Properties/launchSettings.json
+++ b/AOC2022/Properties/launchSettings.json
@@ -2,13 +2,12 @@
"profiles": {
"WithParams": {
"commandName": "Project",
- "commandLineArgs": "1 2 3"
+ "commandLineArgs": "1 2",
+ "workingDirectory": "./"
},
"WithoutParams": {
"commandName": "Project",
"workingDirectory": "./"
-
- //"commandLineArgs": "1 2 3"
}
}
}
\ No newline at end of file
diff --git a/AOC2022/Puzzles/Day1.cs b/AOC2022/Puzzles/Day1.cs
index 4a9f641..b4376b3 100644
--- a/AOC2022/Puzzles/Day1.cs
+++ b/AOC2022/Puzzles/Day1.cs
@@ -1,31 +1,47 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
namespace AOC2022.Puzzles;
internal class Day1 : IPuzzle
{
- private readonly string[] linesFromFile;
+ private readonly string[] _linesFromFile;
+ private readonly List _elfFoodSumList = new();
public Day1(string[] linesFromFile)
{
- this.linesFromFile = linesFromFile;
+ _linesFromFile = linesFromFile;
+ try
+ {
+ GetElfFoodSumList();
+ }
+ catch (Exception)
+ {
+ throw;
+ }
+ }
+ void GetElfFoodSumList()
+ {
+ var elfFoodSum = 0;
+ //var elfFoodSumList = new List();
+ foreach (var line in _linesFromFile)
+ {
+ if (!string.IsNullOrWhiteSpace(line))
+ {
+ elfFoodSum += int.Parse(line);
+ }
+ else
+ {
+ _elfFoodSumList.Add(elfFoodSum);
+ elfFoodSum = 0;
+ }
+ _elfFoodSumList.Sort((x, y) => y.CompareTo(x));
+ }
}
-
public void FirstPuzzle()
{
- foreach (var line in linesFromFile)
- {
- Console.WriteLine(line);
- }
+ Console.WriteLine($"Fattest fucker has {_elfFoodSumList[0]} borgers");
}
public void SecondPuzzle()
{
- throw new NotImplementedException();
+ Console.WriteLine($"Top 3 Fatties have {_elfFoodSumList.Take(3).Sum()} borgers");
}
}
-
diff --git a/AOC2022/Puzzles/Day2.cs b/AOC2022/Puzzles/Day2.cs
index a62fd50..d3354d4 100644
--- a/AOC2022/Puzzles/Day2.cs
+++ b/AOC2022/Puzzles/Day2.cs
@@ -1,21 +1,32 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
namespace AOC2022.Puzzles;
internal class Day2 : IPuzzle
{
+ private readonly string[] _linesFromFile;
+
+ public Day2(string[] linesFromFile)
+ {
+ _linesFromFile = linesFromFile;
+ }
public void FirstPuzzle()
{
- throw new NotImplementedException();
+ int score = 0;
+
+ foreach (var line in _linesFromFile)
+ {
+ score += ((line[2] - line[0] - 1) % 3 * 3) + (line[2] - 'X' + 1);
+ }
+ Console.WriteLine($"Elf trickery knows no bounds, without the elf the score is {score}");
}
public void SecondPuzzle()
{
- throw new NotImplementedException();
- }
-}
+ int score = 0;
+ foreach (var line in _linesFromFile)
+ {
+ score += ((line[0] - 'A' + line[2] - 'X' + 2) % 3) + 1 + (line[2] - 'X') * 3;
+ }
+ Console.WriteLine($"Elf trickery knows no bounds, with the elf help the score is {score}");
+ }
+}
\ No newline at end of file
diff --git a/AOC2022/Puzzles/Day3.cs b/AOC2022/Puzzles/Day3.cs
index ef762c7..5743f31 100644
--- a/AOC2022/Puzzles/Day3.cs
+++ b/AOC2022/Puzzles/Day3.cs
@@ -1,9 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
namespace AOC2022.Puzzles;
internal class Day3 : IPuzzle
diff --git a/AOC2022/Puzzles/IPuzzle.cs b/AOC2022/Puzzles/IPuzzle.cs
index 3cd47b6..8f07d80 100644
--- a/AOC2022/Puzzles/IPuzzle.cs
+++ b/AOC2022/Puzzles/IPuzzle.cs
@@ -1,9 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
namespace AOC2022.Puzzles
{
internal interface IPuzzle
diff --git a/AOCDayOne/AOCDayOne.csproj b/AOCDayOne/AOCDayOne.csproj
deleted file mode 100644
index f02677b..0000000
--- a/AOCDayOne/AOCDayOne.csproj
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- Exe
- net7.0
- enable
- enable
-
-
-
diff --git a/AOCDayOne/Program.cs b/AOCDayOne/Program.cs
deleted file mode 100644
index 9ba101e..0000000
--- a/AOCDayOne/Program.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-namespace AOCDayOne;
-
-internal static class Program
-{
- private static async Task Main(string[] args)
- {
- switch (args.Length)
- {
- case 0:
- Console.WriteLine("Nigga enter the filename!");
- break;
- case 1:
- {
- var result = await ProcessElfFoodListFile(args[0]);
- if (result is not null)
- {
- Console.WriteLine($"Fattest fucker has {result[0]} borgers");
- Console.WriteLine($"Top 3 Fatties have {result.Take(3).Sum()} borgers");
- }
- else
- {
- Console.WriteLine("Processing error/File not found");
- }
- break;
- }
- default:
- Console.WriteLine("I don't even know what the fuck you typed, just the filename as argument");
- break;
- }
- }
-
- private static async Task?> ProcessElfFoodListFile(string filename)
- {
- //Set Current Directory in launchSettings.json or rider launch profiles
- //var currentDirectory = Directory.GetCurrentDirectory();
- if (!File.Exists(filename)) return null;
-
- try
- {
- var lines = await File.ReadAllLinesAsync(filename); //no i dont care about memory poorcels out
- var elfFoodSum = 0;
- var elfFoodSumList = new List();
- foreach (var line in lines)
- {
- if (!string.IsNullOrWhiteSpace(line))
- {
- elfFoodSum += int.Parse(line);
- }
- else
- {
- elfFoodSumList.Add(elfFoodSum);
- elfFoodSum = 0;
- }
- elfFoodSumList.Sort((x, y) => y.CompareTo(x));
- }
-
- //elfFoodSumList.ForEach(Console.WriteLine);
- //Console.WriteLine(elfFoodSumList.Count);
- //Console.WriteLine(elfFoodSumList.Max());
- return elfFoodSumList;
- }
- catch (Exception ex)
- {
- Console.WriteLine($"Shieeeeeeeetttt I Crashed!! coz of this {ex}");
- }
-
- return null;
- }
-}
\ No newline at end of file
diff --git a/AOCDayOne/Properties/launchSettings.json b/AOCDayOne/Properties/launchSettings.json
deleted file mode 100644
index 943a3e7..0000000
--- a/AOCDayOne/Properties/launchSettings.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "profiles": {
- "InputTxtParam": {
- "commandName": "Project",
- "commandLineArgs": "input.txt",
- "workingDirectory": ".\\"
- }
- }
-}
\ No newline at end of file
diff --git a/AdventOfCode.sln b/AdventOfCode.sln
index 4138cd2..2c5d535 100644
--- a/AdventOfCode.sln
+++ b/AdventOfCode.sln
@@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33122.133
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AOCDayOne", "AOCDayOne\AOCDayOne.csproj", "{9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{99F5AC62-C5E8-4264-A511-C2ED59988EDA}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
@@ -18,10 +16,6 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9A5F75A3-4FD2-4CE1-9047-639AE19F86A1}.Release|Any CPU.Build.0 = Release|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E9B704DE-D6D2-4A72-971D-28E9F326B6EA}.Release|Any CPU.ActiveCfg = Release|Any CPU