summaryrefslogtreecommitdiffstats
path: root/lib/day02.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/day02.ml')
-rw-r--r--lib/day02.ml26
1 files changed, 11 insertions, 15 deletions
diff --git a/lib/day02.ml b/lib/day02.ml
index b751fbd..4bce292 100644
--- a/lib/day02.ml
+++ b/lib/day02.ml
@@ -6,7 +6,7 @@
let parse_range s =
match String.split_on_char '-' s with
- | [a; b] -> (int_of_string a, int_of_string b)
+ | [ a; b ] -> (int_of_string a, int_of_string b)
| _ -> failwith ("Invalid range " ^ s)
let parse_ranges ch =
@@ -16,11 +16,11 @@ let parse_ranges ch =
|> List.map parse_range
let is_invalid s cnt =
- cnt > 0 &&
- (String.length s) mod cnt = 0 &&
- String.to_seqi s
- |> Seq.drop cnt
- |> Seq.for_all (fun (i, c) -> c = s.[i - cnt])
+ cnt > 0
+ && String.length s mod cnt = 0
+ && String.to_seqi s
+ |> Seq.drop cnt
+ |> Seq.for_all (fun (i, c) -> c = s.[i - cnt])
let is_invalid_part1 a =
let s = string_of_int a in
@@ -31,23 +31,19 @@ let sum_invalid_ids invalid_fn (a, b) =
Seq.ints a
|> Seq.take (b - a + 1)
|> Seq.filter invalid_fn
- |> Seq.fold_left (+) 0
+ |> Seq.fold_left ( + ) 0
let solve ch invalid_fn =
parse_ranges ch
|> List.map (sum_invalid_ids invalid_fn)
- |> List.fold_left (+) 0
+ |> List.fold_left ( + ) 0
|> Printf.printf "%d\n"
-let part1 ch =
- solve ch is_invalid_part1
+let part1 ch = solve ch is_invalid_part1
let is_invalid_part2 a =
let s = string_of_int a in
let l = String.length s in
- Seq.ints 1
- |> Seq.take (l / 2)
- |> Seq.exists (is_invalid s)
+ Seq.ints 1 |> Seq.take (l / 2) |> Seq.exists (is_invalid s)
-let part2 ch =
- solve ch is_invalid_part2
+let part2 ch = solve ch is_invalid_part2