diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2022-12-09 19:31:24 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2022-12-09 19:31:24 +0100 |
commit | 967e964f453fc031816270b90d6eab38410769a3 (patch) | |
tree | 99ca5504c1be629eb35cda6514df401965d232fd /aoc-2022-dotnet/Day04 | |
parent | fd04f2ebd1a4ade35a3e218b7737311ac631fce8 (diff) | |
download | gleam_aoc2020-967e964f453fc031816270b90d6eab38410769a3.tar.gz gleam_aoc2020-967e964f453fc031816270b90d6eab38410769a3.zip |
Extract common functions to util module
Diffstat (limited to 'aoc-2022-dotnet/Day04')
-rw-r--r-- | aoc-2022-dotnet/Day04/Program.fs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/aoc-2022-dotnet/Day04/Program.fs b/aoc-2022-dotnet/Day04/Program.fs index 2221a4a..7d37d3e 100644 --- a/aoc-2022-dotnet/Day04/Program.fs +++ b/aoc-2022-dotnet/Day04/Program.fs @@ -2,19 +2,20 @@ open System.IO open FParsec +open Common let parseLine line = let prange = pint32 .>> pstring "-" .>>. pint32 let ppair = prange .>> pstring "," .>>. prange .>> eof - Common.parse ppair line + Util.parse ppair line let fullyOverlap ((a, b), (c, d)) = (a <= c && d <= b) || (c <= a && b <= d) let overlapAtAll ((a, b), (c, d)) = a <= d && b >= c -let solution pred = - Seq.map parseLine >> Seq.filter pred >> Seq.length +let solution predicate = + Seq.map parseLine >> Util.countWhere predicate let test = File.ReadLines "test.txt" assert (solution fullyOverlap test = 2) |