diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-04 18:33:40 +0200 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-04 18:38:58 +0200 |
| commit | 686339d1fae622df20fa73b72b632ca3cb7fd7be (patch) | |
| tree | f81f500f80bb0ac453a01aa10616959a75b2c67c /src/aoc_2022 | |
| parent | 1adba42708436a86db1f369028fb6fae4bc4eda8 (diff) | |
Add .clj-kondo/config.edn, fix warnings
Diffstat (limited to 'src/aoc_2022')
| -rw-r--r-- | src/aoc_2022/day01.clj | 9 | ||||
| -rw-r--r-- | src/aoc_2022/day02.clj | 10 | ||||
| -rw-r--r-- | src/aoc_2022/day03.clj | 13 | ||||
| -rw-r--r-- | src/aoc_2022/day04.clj | 11 | ||||
| -rw-r--r-- | src/aoc_2022/utils.clj | 13 |
5 files changed, 25 insertions, 31 deletions
diff --git a/src/aoc_2022/day01.clj b/src/aoc_2022/day01.clj index c26c87c..2bced4b 100644 --- a/src/aoc_2022/day01.clj +++ b/src/aoc_2022/day01.clj @@ -12,14 +12,14 @@ (defn task1 [rows] (->> rows - (map (fn [row] (if (not (empty? row)) (Long/valueOf row) ""))) + (map (fn [row] (if (seq row) (Long/valueOf row) ""))) (split-by "" []) (map (fn [calories] (reduce + calories))) (reduce max))) (defn task2 [rows] (->> rows - (map (fn [row] (if (not (empty? row)) (Long/valueOf row) ""))) + (map (fn [row] (if (seq row) (Long/valueOf row) ""))) (split-by "" []) (map (fn [calories] (reduce + calories))) sort @@ -29,6 +29,5 @@ (with-open [rdr (io/reader "resources/day01_actual.txt")] (let [rows (line-seq rdr)] - (do - (println "task1:" (task1 rows)) - (println "task2:" (task2 rows))))) + (println "task1:" (task1 rows)) + (println "task2:" (task2 rows)))) diff --git a/src/aoc_2022/day02.clj b/src/aoc_2022/day02.clj index 45bba95..25573fd 100644 --- a/src/aoc_2022/day02.clj +++ b/src/aoc_2022/day02.clj @@ -1,6 +1,6 @@ (ns aoc-2022.day02) (require '[clojure.java.io :as io]) -(require '[aoc-2022.utils :as utils]) +(require '[aoc-2022.utils :refer :all]) (defn score-round-result [own opp] (cond @@ -17,9 +17,6 @@ :paper 2 :scissors 3}) -(defn score-round [own opp] - (+ (score-round-result own opp) (get score-own-play own))) - (def plays {\A :rock \B :paper @@ -63,6 +60,5 @@ (with-open [rdr (io/reader "resources/day02_actual.txt")] (let [rows (line-seq rdr)] - (do - (println "task1:" (task1 rows)) - (println "task2:" (task2 rows))))) + (println "task1:" (task1 rows)) + (println "task2:" (task2 rows)))) diff --git a/src/aoc_2022/day03.clj b/src/aoc_2022/day03.clj index 38ae011..53d162e 100644 --- a/src/aoc_2022/day03.clj +++ b/src/aoc_2022/day03.clj @@ -1,6 +1,6 @@ (ns aoc-2022.day03) (require '[clojure.java.io :as io]) -(require '[aoc-2022.utils :as utils]) +(require '[aoc-2022.utils :refer :all]) (defn compartments [sack] (let [n (count sack)] @@ -12,7 +12,7 @@ occurs (fn [hs] (filter #(= needle %) hs))] (cond (nil? needle) nil - (not (empty? (occurs haystack))) needle + (seq(occurs haystack)) needle :else (find-common (rest needles) haystack)))) (defn priority-of [item] @@ -35,8 +35,8 @@ (nil? needle) nil (and - (not (empty? (occurs hs1))) - (not (empty? (occurs hs2)))) + (seq (occurs hs1)) + (seq (occurs hs2))) needle :else (find-common2 (rest needles) hs1 hs2)))) @@ -50,6 +50,5 @@ (with-open [rdr (io/reader "resources/day03_actual.txt")] (let [rows (line-seq rdr)] - (do - (println "task1:" (task1 rows)) - (println "task2:" (task2 rows))))) + (println "task1:" (task1 rows)) + (println "task2:" (task2 rows)))) diff --git a/src/aoc_2022/day04.clj b/src/aoc_2022/day04.clj index bd4d562..c046cb7 100644 --- a/src/aoc_2022/day04.clj +++ b/src/aoc_2022/day04.clj @@ -1,7 +1,7 @@ (ns aoc-2022.day04) -(require '[aoc-2022.utils :refer :all]) (require '[clojure.java.io :as io]) (require '[clojure.string :as str]) +(require '[aoc-2022.utils :refer :all]) (defn parse-rows [rows] (->> rows @@ -23,7 +23,7 @@ count)) (defn assignment-overlaps [[a1 a2 b1 b2]] - (not (or (> a1 b2) (> b1 a2)))) + (nor (> a1 b2) (> b1 a2))) (def task2 (chain @@ -33,7 +33,6 @@ (with-open [rdr (io/reader "resources/day04_actual.txt")] (let [rows (line-seq rdr)] - (do - (println "task1:" (task1 rows)) - (println "task2:" (task2 rows)) - :done))) + (println "task1:" (task1 rows)) + (println "task2:" (task2 rows)) + :done)) diff --git a/src/aoc_2022/utils.clj b/src/aoc_2022/utils.clj index 4ade901..c59d498 100644 --- a/src/aoc_2022/utils.clj +++ b/src/aoc_2022/utils.clj @@ -33,15 +33,16 @@ `task1` and `task2` should take a list of strings as their first argument." [day task1 task2] (let [{:keys [sample actual]} (read-aoc day)] - (do - (println "task1 @ sample:" (task1 sample)) - (println "task1 @ actual:" (task1 actual)) - (println "task2 @ sample:" (task2 sample)) - (println "task2 @ actual:" (task2 actual))))) + (println "task1 @ sample:" (task1 sample)) + (println "task1 @ actual:" (task1 actual)) + (println "task2 @ sample:" (task2 sample)) + (println "task2 @ actual:" (task2 actual)))) ; Functions -(defn chain "forward compose: comp fns in reverse order" [& fns] +(defn chain + "forward compose: comp fns in reverse order" + [& fns] (apply comp (reverse fns))) ; Logic |
