diff options
| author | Alexandre Jesus <adbjesus@gmail.com> | 2025-12-03 21:05:57 +0000 |
|---|---|---|
| committer | Alexandre Jesus <adbjesus@gmail.com> | 2025-12-03 21:05:57 +0000 |
| commit | 6d80c94eb7ea8ac0421df0832409b63be7c1246a (patch) | |
| tree | 675ceb3feb257c4986860b4a10de5becc677a94a /lib/day02.ml | |
| parent | c260cea076a5dda847e108454aedc10385ea5c10 (diff) | |
| download | aoc2025-6d80c94eb7ea8ac0421df0832409b63be7c1246a.tar.gz aoc2025-6d80c94eb7ea8ac0421df0832409b63be7c1246a.zip | |
Setup ocamlformat
Define a initial setup for ocamlformat. I might still tweak the
settings in the future.
Diffstat (limited to 'lib/day02.ml')
| -rw-r--r-- | lib/day02.ml | 26 |
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 |
