From 3d57434c04a669610d5f15bd2a7713e6928cdef7 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Thu, 30 Nov 2023 22:46:45 -0700 Subject: add aoc2023 --- day-02/.gitkeep | 0 day-02/sol.clj | 34 ---------------------------------- 2 files changed, 34 deletions(-) delete mode 100644 day-02/.gitkeep delete mode 100644 day-02/sol.clj (limited to 'day-02') diff --git a/day-02/.gitkeep b/day-02/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/day-02/sol.clj b/day-02/sol.clj deleted file mode 100644 index 99783cc..0000000 --- a/day-02/sol.clj +++ /dev/null @@ -1,34 +0,0 @@ -(require '[clojure.java.io]) - -(defn find-recurring-characters [strs] - (reduce (fn [a x] - (into #{} (filter #(contains? a %) x))) - (into #{} (first strs)) - strs)) - -(defn get-priority [c] - (if (>= c 97) - (- c 96) - (- c 38))) - -(defn obtain-total-priorities [rucksacks] - (reduce + (map (fn [line] - (let [half (/ (count line) 2)] - (get-priority (int - (first (find-recurring-characters - (list (subs line 0 half) - (subs line half)))))))) - rucksacks))) - -(defn obtain-total-priorities-2 [rucksacks] - (reduce + (map (fn [lines] - (get-priority (int (first (find-recurring-characters lines))))) - (partition 3 rucksacks)))) - -(defn main [] - (with-open [rdr (clojure.java.io/reader "input")] - (println (obtain-total-priorities (line-seq rdr)))) - (with-open [rdr (clojure.java.io/reader "input")] - (println (obtain-total-priorities-2 (line-seq rdr)))) - (System/exit 0)) -(main) \ No newline at end of file -- cgit v1.2.3-70-g09d2