diff options
Diffstat (limited to 'aoc2017-gleam/src/aoc_2017/day_1.gleam')
-rw-r--r-- | aoc2017-gleam/src/aoc_2017/day_1.gleam | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/aoc2017-gleam/src/aoc_2017/day_1.gleam b/aoc2017-gleam/src/aoc_2017/day_1.gleam deleted file mode 100644 index 786d0dd..0000000 --- a/aoc2017-gleam/src/aoc_2017/day_1.gleam +++ /dev/null @@ -1,32 +0,0 @@ -import gleam/int -import gleam/list -import gleam/result -import gleam/string - -pub fn parse(input: String) { - input - |> string.to_graphemes() - |> list.map(int.parse) - |> result.values() -} - -pub fn pt_1(input: List(Int)) { - pair_by(numbers: input, considering: 1) -} - -pub fn pt_2(input: List(Int)) { - pair_by(numbers: input, considering: list.length(input) / 2) -} - -fn find_neighbor_matches(number_pairs: List(#(Int, Int))) { - case number_pairs { - [] -> 0 - [#(a, b), ..rest] if a == b -> a + find_neighbor_matches(rest) - [_, ..rest] -> find_neighbor_matches(rest) - } -} - -fn pair_by(numbers xs: List(Int), considering by: Int) { - list.zip(xs, list.append(list.drop(xs, by), list.take(xs, by))) - |> find_neighbor_matches() -} |