aboutsummaryrefslogtreecommitdiff
path: root/aoc-2022-dotnet/Day04
diff options
context:
space:
mode:
authorTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2022-12-09 19:31:24 +0100
committerTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2022-12-09 19:31:24 +0100
commit967e964f453fc031816270b90d6eab38410769a3 (patch)
tree99ca5504c1be629eb35cda6514df401965d232fd /aoc-2022-dotnet/Day04
parentfd04f2ebd1a4ade35a3e218b7737311ac631fce8 (diff)
downloadgleam_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.fs7
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)