diff --git a/.editorconfig b/.editorconfig index 8e9aa62..e593e00 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,6 +3,8 @@ root = true # All files [*] indent_style = space +indent_size = 2 +tab_width = 2 # Xml files [*.xml] @@ -13,10 +15,6 @@ indent_size = 2 #### Core EditorConfig Options #### -# Indentation and spacing -indent_size = 2 -tab_width = 2 - # New line preferences insert_final_newline = false diff --git a/.gitignore b/.gitignore index fdb040a..b79b8f6 100644 --- a/.gitignore +++ b/.gitignore @@ -406,7 +406,9 @@ FodyWeavers.xsd # JetBrains Rider *.sln.iml -.idea/ +.idea/workspace.xml +.idea/usage.statistics.xml +.idea/shelf/ ## ## Visual studio for Mac diff --git a/.idea/.idea.AdventOfCode2024/.idea/.gitignore b/.idea/.idea.AdventOfCode2024/.idea/.gitignore new file mode 100644 index 0000000..84c866c --- /dev/null +++ b/.idea/.idea.AdventOfCode2024/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.AdventOfCode2024.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.AdventOfCode2024/.idea/.name b/.idea/.idea.AdventOfCode2024/.idea/.name new file mode 100644 index 0000000..5be13fa --- /dev/null +++ b/.idea/.idea.AdventOfCode2024/.idea/.name @@ -0,0 +1 @@ +AdventOfCode2024 \ No newline at end of file diff --git a/.idea/.idea.AdventOfCode2024/.idea/encodings.xml b/.idea/.idea.AdventOfCode2024/.idea/encodings.xml new file mode 100644 index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.AdventOfCode2024/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/.idea.AdventOfCode2024/.idea/indexLayout.xml b/.idea/.idea.AdventOfCode2024/.idea/indexLayout.xml new file mode 100644 index 0000000..e1439ad --- /dev/null +++ b/.idea/.idea.AdventOfCode2024/.idea/indexLayout.xml @@ -0,0 +1,18 @@ + + + + + + .gitignore + 01/INPUT.txt + 01/PROBLEM.md + 02/INPUT.txt + 02/PROBLEM.md + 04/INPUT.txt + 04/PROBLEM.md + 05/PROBLEM.md + README.md + + + + \ No newline at end of file diff --git a/.idea/.idea.AdventOfCode2024/.idea/vcs.xml b/.idea/.idea.AdventOfCode2024/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/.idea.AdventOfCode2024/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/04/CeresSearch/CeresSearch.csproj b/04/CeresSearch/CeresSearch.csproj index a4dee13..9150d6c 100644 --- a/04/CeresSearch/CeresSearch.csproj +++ b/04/CeresSearch/CeresSearch.csproj @@ -1,5 +1,4 @@  - Exe net9.0 @@ -17,4 +16,5 @@ PreserveNewest + diff --git a/04/CeresSearch/Grid.cs b/04/CeresSearch/Grid.cs index 3cb7f10..96872c3 100644 --- a/04/CeresSearch/Grid.cs +++ b/04/CeresSearch/Grid.cs @@ -1,6 +1,4 @@ -using System.Xml; - -namespace CeresSearch; +namespace CeresSearch; record Direction(int XOffset, int YOffset) { @@ -110,7 +108,7 @@ class Grid(string[] input) return IsValidXmas(xmasMap); } - private bool IsValidXmas(Dictionary map) + private static bool IsValidXmas(Dictionary map) { var upToTheRight = map[Direction.UpToTheRight]; var downToTheLeft = map[Direction.DownToTheLeft]; diff --git a/05/PrintQueue.Tests/PrintQueue.Tests.csproj b/05/PrintQueue.Tests/PrintQueue.Tests.csproj new file mode 100644 index 0000000..a29997a --- /dev/null +++ b/05/PrintQueue.Tests/PrintQueue.Tests.csproj @@ -0,0 +1,19 @@ + + + + Exe + net9.0 + enable + enable + CA1822 + + + + + + + + + + + diff --git a/05/PrintQueue/PrintQueue.csproj b/05/PrintQueue/PrintQueue.csproj new file mode 100644 index 0000000..89d1400 --- /dev/null +++ b/05/PrintQueue/PrintQueue.csproj @@ -0,0 +1,21 @@ + + + + Exe + net9.0 + enable + enable + CA1822 + + + + + + + + + PreserveNewest + + + + diff --git a/05/PrintQueue/Program.cs b/05/PrintQueue/Program.cs new file mode 100644 index 0000000..79274ad --- /dev/null +++ b/05/PrintQueue/Program.cs @@ -0,0 +1,26 @@ +using System.Diagnostics; + +if (args.Length is 0) +{ + Console.WriteLine("Please provide a path to the input file."); + return; +} + +if (File.Exists(args[0]) is false) +{ + Console.WriteLine("The provided file does not exist."); + return; +} + +var isPart2 = args.Length is 2 && args[1] is "part2"; +var input = await File.ReadAllLinesAsync(args[0]); + +var stopwatch = new Stopwatch(); +stopwatch.Start(); + +// TODO: Perform work here + +stopwatch.Stop(); + +// TODO: Print results +Console.WriteLine($". ({stopwatch.ElapsedMilliseconds}ms)"); \ No newline at end of file diff --git a/AdventOfCode2024.sln b/AdventOfCode2024.sln index 27aabd0..685161c 100644 --- a/AdventOfCode2024.sln +++ b/AdventOfCode2024.sln @@ -31,6 +31,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CeresSearch.Tests", "04\Cer EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CeresSearch", "04\CeresSearch\CeresSearch.csproj", "{3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "05", "05", "{7253666E-E9DA-4F2E-9A19-8C40D96CC7C1}" + ProjectSection(SolutionItems) = preProject + 05\INPUT.txt = 05\INPUT.txt + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrintQueue", "05\PrintQueue\PrintQueue.csproj", "{DAF18CE4-2203-407C-BACD-8401BECD74AB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PrintQueue.Tests", "05\PrintQueue.Tests\PrintQueue.Tests.csproj", "{4563BCC8-A1E6-448C-BF2D-D0A3E85B9654}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -72,6 +81,14 @@ Global {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Debug|Any CPU.Build.0 = Debug|Any CPU {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Release|Any CPU.ActiveCfg = Release|Any CPU {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Release|Any CPU.Build.0 = Release|Any CPU + {DAF18CE4-2203-407C-BACD-8401BECD74AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DAF18CE4-2203-407C-BACD-8401BECD74AB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DAF18CE4-2203-407C-BACD-8401BECD74AB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DAF18CE4-2203-407C-BACD-8401BECD74AB}.Release|Any CPU.Build.0 = Release|Any CPU + {4563BCC8-A1E6-448C-BF2D-D0A3E85B9654}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4563BCC8-A1E6-448C-BF2D-D0A3E85B9654}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4563BCC8-A1E6-448C-BF2D-D0A3E85B9654}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4563BCC8-A1E6-448C-BF2D-D0A3E85B9654}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {1AFE2FF1-A55D-4D86-A9BB-9875CA0D14D8} = {270B7829-6D23-4B34-91FE-D87D533AF2AB} @@ -82,5 +99,7 @@ Global {B0F3B761-E902-4853-85D0-E4DACABBBD2B} = {D4B938F3-3B4A-4020-BDD5-6F1A55063F83} {72B647D7-6F26-4661-BF59-2687233B9976} = {90547399-676A-4C0E-8CC1-75B7055DE486} {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB} = {90547399-676A-4C0E-8CC1-75B7055DE486} + {DAF18CE4-2203-407C-BACD-8401BECD74AB} = {7253666E-E9DA-4F2E-9A19-8C40D96CC7C1} + {4563BCC8-A1E6-448C-BF2D-D0A3E85B9654} = {7253666E-E9DA-4F2E-9A19-8C40D96CC7C1} EndGlobalSection EndGlobal diff --git a/README.md b/README.md index 696cfca..e4d1a16 100644 --- a/README.md +++ b/README.md @@ -42,9 +42,9 @@ dotnet build ## Challenges -| Day | Problem | Solution | Notes | -|-----|----------------------------|:-----------------------------------:|----------------------------------------------------------------------------------------------| +| Day | Problem | Solution | Notes | +|-----|----------------------------|-------------------------------------|----------------------------------------------------------------------------------------------| | 01 | [Problem](./01/PROBLEM.md) | [Solution](./01/HistorianHysteria/) | A great way to start! | -| 02 | [Problem](./02/PROBLEM.md) | [Solution](./02/RedNosedReports/) | Damn their was an edge case that really bit me...direction change after first pair of levels | -| 03 | [Problem](./03/PROBLEM.md) | [Solution](./03/MullItOver/) | Thank goodness this wasn't a repeat of day 2. | -| 04 | [Problem](./04/PROBLEM.md) | [Solution](./04/CeresSearch/) | This was fun! Definitely was able to see the growth in my abilities here. | +| 02 | [Problem](./02/PROBLEM.md) | [Solution](./02/RedNosedReports/) | Damn their was an edge case that really bit me...direction change after first pair of levels | +| 03 | [Problem](./03/PROBLEM.md) | [Solution](./03/MullItOver/) | Thank goodness this wasn't a repeat of day 2. | +| 04 | [Problem](./04/PROBLEM.md) | [Solution](./04/CeresSearch/) | This was fun! Definitely was able to see the growth in my abilities here. |