diff --git a/src/aoc_2024/day_2.gleam b/src/aoc_2024/day_2.gleam index c879ade..e1527a6 100644 --- a/src/aoc_2024/day_2.gleam +++ b/src/aoc_2024/day_2.gleam @@ -39,7 +39,7 @@ pub fn pt_2(input: List(List(Int))) { input |> list.count(fn(line) { line - |> extra.selections - |> list.any(fn(selection) { is_ok(selection.1) }) + |> list.combinations(list.length(line) - 1) + |> list.any(is_ok) }) } diff --git a/src/extra.gleam b/src/extra.gleam index d3c9755..56dc8ce 100644 --- a/src/extra.gleam +++ b/src/extra.gleam @@ -50,11 +50,6 @@ pub fn remove_at(xs: List(a), at i: Int) -> List(a) { list.append(list.take(xs, i), list.drop(xs, i + 1)) } -/// selections([5,10,2]) -> [ #(5,[10,2]), #(10,[5,2]), #(2,[5,10]) ] -pub fn selections(xs: List(a)) -> List(#(a, List(a))) { - list.index_map(xs, fn(x, i) { #(x, remove_at(xs, i)) }) -} - pub fn yolo_int(x: String) -> Int { let assert Ok(n) = int.parse(x) n