aboutsummaryrefslogtreecommitdiff
path: root/aoc-2022-dotnet/Day03
diff options
context:
space:
mode:
Diffstat (limited to 'aoc-2022-dotnet/Day03')
-rw-r--r--aoc-2022-dotnet/Day03/Day03.fsproj4
-rw-r--r--aoc-2022-dotnet/Day03/Program.fs7
2 files changed, 6 insertions, 5 deletions
diff --git a/aoc-2022-dotnet/Day03/Day03.fsproj b/aoc-2022-dotnet/Day03/Day03.fsproj
index e337a41..b9a3919 100644
--- a/aoc-2022-dotnet/Day03/Day03.fsproj
+++ b/aoc-2022-dotnet/Day03/Day03.fsproj
@@ -15,4 +15,8 @@
<Compile Include="Program.fs" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Common\Common.fsproj" />
+ </ItemGroup>
+
</Project>
diff --git a/aoc-2022-dotnet/Day03/Program.fs b/aoc-2022-dotnet/Day03/Program.fs
index 153e639..512ef40 100644
--- a/aoc-2022-dotnet/Day03/Program.fs
+++ b/aoc-2022-dotnet/Day03/Program.fs
@@ -1,6 +1,7 @@
module Day03
open System.IO
+open Common
let priority item =
if 'a' <= item && item <= 'z' then
@@ -10,13 +11,9 @@ let priority item =
else
failwithf "Invalid item: %c" item
-let cutInHalf xs =
- let half = Seq.length xs / 2
- [ Seq.take half xs; Seq.skip half xs ]
-
let solution1 =
Seq.sumBy (
- cutInHalf
+ Util.cutInHalf
>> Seq.map Set
>> Set.intersectMany
>> Seq.exactlyOne