diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-22 18:31:14 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-12-22 18:31:14 +0100 |
commit | 7a5f1983f9189422ad5e12afde11d11bec30a3f1 (patch) | |
tree | 46a02028e2712beaad7cf0886696ff7cd37798cf /aoc-2020-gleam/src/ext/listx.gleam | |
parent | d8e183f02f67522d94deafa328e19b3081ca41be (diff) | |
download | gleam_aoc2020-7a5f1983f9189422ad5e12afde11d11bec30a3f1.tar.gz gleam_aoc2020-7a5f1983f9189422ad5e12afde11d11bec30a3f1.zip |
Solve part 1 of day 20
Diffstat (limited to 'aoc-2020-gleam/src/ext/listx.gleam')
-rw-r--r-- | aoc-2020-gleam/src/ext/listx.gleam | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/aoc-2020-gleam/src/ext/listx.gleam b/aoc-2020-gleam/src/ext/listx.gleam index 2ca8648..0a3d7c3 100644 --- a/aoc-2020-gleam/src/ext/listx.gleam +++ b/aoc-2020-gleam/src/ext/listx.gleam @@ -1,6 +1,7 @@ import gleam/pair import gleam/iterator as iter import gleam/result as res +import gleam/dict.{type Dict} import ext/iteratorx as iterx pub fn count(list: List(a), satisfying predicate: fn(a) -> Bool) -> Int { @@ -9,6 +10,12 @@ pub fn count(list: List(a), satisfying predicate: fn(a) -> Bool) -> Int { |> iterx.count(satisfying: predicate) } +pub fn counts(list: List(a)) -> Dict(a, Int) { + list + |> iter.from_list + |> iterx.counts +} + fn set_helper(list: List(a), value: a, index: Int, counter: Int) -> List(a) { case list { [] -> [] |