diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2022-12-06 12:17:31 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2022-12-06 12:17:31 +0100 |
commit | d4577c74e8fbb1143050cb2880f08307eb953945 (patch) | |
tree | 9ab170b8bee6a1dc4afed0b2f603043e44ec648a /aoc-2022-dotnet | |
parent | f0820f9561713bf6a14455d3b218f2144d8d43d0 (diff) | |
download | gleam_aoc2020-d4577c74e8fbb1143050cb2880f08307eb953945.tar.gz gleam_aoc2020-d4577c74e8fbb1143050cb2880f08307eb953945.zip |
Finish day 6
Diffstat (limited to 'aoc-2022-dotnet')
-rw-r--r-- | aoc-2022-dotnet/Day06/Day06.fsproj | 15 | ||||
-rw-r--r-- | aoc-2022-dotnet/Day06/Program.fs | 18 | ||||
-rw-r--r-- | aoc-2022-dotnet/README.md | 4 | ||||
-rw-r--r-- | aoc-2022-dotnet/aoc-2022-dotnet.sln | 8 |
4 files changed, 42 insertions, 3 deletions
diff --git a/aoc-2022-dotnet/Day06/Day06.fsproj b/aoc-2022-dotnet/Day06/Day06.fsproj new file mode 100644 index 0000000..249287d --- /dev/null +++ b/aoc-2022-dotnet/Day06/Day06.fsproj @@ -0,0 +1,15 @@ +ο»Ώ<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>net7.0</TargetFramework> + </PropertyGroup> + + <ItemGroup> + <Content Include="input.txt"> + <CopyToOutputDirectory>Always</CopyToOutputDirectory> + </Content> + <Compile Include="Program.fs" /> + </ItemGroup> + +</Project> diff --git a/aoc-2022-dotnet/Day06/Program.fs b/aoc-2022-dotnet/Day06/Program.fs new file mode 100644 index 0000000..75a5ffb --- /dev/null +++ b/aoc-2022-dotnet/Day06/Program.fs @@ -0,0 +1,18 @@ +ο»Ώopen System.IO + +let solution n = + Seq.windowed n + >> Seq.findIndex (Set >> Set.count >> (=) n) + >> (+) n + +assert + [ ("mjqjpqmgbljsphdztnvjfqwrcgsmlb", 7, 19) + ("bvwbjplbgvbhsrlpgdmjqwftvncz", 5, 23) + ("nppdvjthqldpwncqszvftbrmjlhg", 6, 23) + ("nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg", 10, 29) + ("zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw", 11, 26) ] + |> List.forall (fun (test, s4, s14) -> solution 4 test = s4 && solution 14 test = s14) + +let input = File.ReadAllText "input.txt" +printfn "%d" <| solution 4 input +printfn "%d" <| solution 14 input diff --git a/aoc-2022-dotnet/README.md b/aoc-2022-dotnet/README.md index b74d6c1..ef93031 100644 --- a/aoc-2022-dotnet/README.md +++ b/aoc-2022-dotnet/README.md @@ -1,6 +1,6 @@ # Advent of Code 2022 in .NET  - + ## Progress | Day | Part 1 | Part 2 | @@ -10,7 +10,7 @@ | Day 3: Rucksack Reorganization | π | π | | Day 4: Camp Cleanup | π | π | | Day 5: Supply Stacks | π | π | -| Day 6: ??? | | | +| Day 6: Tuning Trouble | π | π | | Day 7: ??? | | | | Day 8: ??? | | | | Day 9: ??? | | | diff --git a/aoc-2022-dotnet/aoc-2022-dotnet.sln b/aoc-2022-dotnet/aoc-2022-dotnet.sln index 06c19f4..3cfbda2 100644 --- a/aoc-2022-dotnet/aoc-2022-dotnet.sln +++ b/aoc-2022-dotnet/aoc-2022-dotnet.sln @@ -18,7 +18,9 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Day03", "Day03\Day03.fsproj EndProject Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Day04", "Day04\Day04.fsproj", "{3E74A210-46A7-420E-93B4-12CCC4B51957}" EndProject -Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Day05", "Day05\Day05.fsproj", "{4D538535-1283-4EEF-80F7-72A9A1643615}" +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Day05", "Day05\Day05.fsproj", "{4D538535-1283-4EEF-80F7-72A9A1643615}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Day06", "Day06\Day06.fsproj", "{24E41736-93F0-4222-810F-47B9A740E599}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -46,6 +48,10 @@ Global {4D538535-1283-4EEF-80F7-72A9A1643615}.Debug|Any CPU.Build.0 = Debug|Any CPU {4D538535-1283-4EEF-80F7-72A9A1643615}.Release|Any CPU.ActiveCfg = Release|Any CPU {4D538535-1283-4EEF-80F7-72A9A1643615}.Release|Any CPU.Build.0 = Release|Any CPU + {24E41736-93F0-4222-810F-47B9A740E599}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24E41736-93F0-4222-810F-47B9A740E599}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24E41736-93F0-4222-810F-47B9A740E599}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24E41736-93F0-4222-810F-47B9A740E599}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE |