aboutsummaryrefslogtreecommitdiff
path: root/aoc-2020-gleam/src/ext/listx.gleam
diff options
context:
space:
mode:
authorTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-12-22 18:31:14 +0100
committerTomasz Chojnacki <tomaszchojnacki2001@gmail.com>2023-12-22 18:31:14 +0100
commit7a5f1983f9189422ad5e12afde11d11bec30a3f1 (patch)
tree46a02028e2712beaad7cf0886696ff7cd37798cf /aoc-2020-gleam/src/ext/listx.gleam
parentd8e183f02f67522d94deafa328e19b3081ca41be (diff)
downloadgleam_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.gleam7
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 {
[] -> []