diff --git a/2024/src/core.clj b/2024/src/core.clj index 6a13f39..3cb2a07 100644 --- a/2024/src/core.clj +++ b/2024/src/core.clj @@ -1,4 +1,12 @@ -(ns core) +(ns core + (:require + [clojure.string :as str])) (defn compose [& fs] (apply comp (reverse fs))) + +(defn split-whitespace [s] + (str/split s #"\s+")) + +(defn get-match-groups [regex s] + (->> s (re-seq regex) first rest)) diff --git a/2024/src/day01.clj b/2024/src/day01.clj index f586999..ec2d445 100644 --- a/2024/src/day01.clj +++ b/2024/src/day01.clj @@ -4,9 +4,8 @@ [core :as c])) (def input (->> (get-input 1) - (map (c/compose #(re-seq #"(\d+)\s+(\d+)" %) - first rest ; only get match groups - #(mapv parse-long %))) + (map #(c/get-match-groups #"(\d+)\s+(\d+)" %)) + (map #(mapv parse-long %)) (into {}) ((juxt keys vals))))