X-Git-Url: http://git.jkinsey.net/?p=adventofcode2019.git;a=blobdiff_plain;f=src%2Fadventofcode2019%2Flib.clj;fp=src%2Fadventofcode2019%2Flib.clj;h=e81b3062011eb7d0149008ad82c4ab0cabb12535;hp=4b424a8fd47f53a92091bc29f635af1f7ee0ecc2;hb=7a710645a2234dcb568c2e971b5b0367217d0ea8;hpb=21ab31d9418c308ae58d73141184be8b42a11ab8 diff --git a/src/adventofcode2019/lib.clj b/src/adventofcode2019/lib.clj index 4b424a8..e81b306 100644 --- a/src/adventofcode2019/lib.clj +++ b/src/adventofcode2019/lib.clj @@ -1,35 +1,35 @@ (ns adventofcode2019.lib - [:require [clojure.string :as str] - [clojure.edn :as edn] - [clojure.java.io :as io] - [clojure.java.shell :refer [sh]]]) + [:require [clojure.string :as str] + [clojure.edn :as edn] + [clojure.java.io :as io] + [clojure.java.shell :refer [sh]]]) (defn get-list-from-file ([file-name] - (str/split-lines (str/trim (slurp file-name)))) + (str/split-lines (str/trim (slurp file-name)))) ([file-name split-regex] - (str/split (str/trim (slurp file-name)) split-regex))) + (str/split (str/trim (slurp file-name)) split-regex))) (defn parse-int [n] (let [n-val (edn/read-string n)] (if (number? n-val) - n-val - (throw (Exception. "Not a number!"))))) + n-val + (throw (Exception. "Not a number!"))))) (defmacro input-file [] (let [bottom-ns (last (str/split (str *ns*) #"\."))] (str "resources/" bottom-ns))) -(defn manhattan-distance [[ax ay] [bx by]] +(defn manhattan-distance [[ax ay] [bx by]] (+ (Math/abs (- ax bx)) (Math/abs (- ay by)))) (defn mmap [f m] - (reduce-kv #(assoc %1 %2 (f %3)) {} m)) + (zipmap (keys m) (map f (vals m)))) -(def part1 +(def part1 #(println (str "Part 1: " %))) -(def part2 +(def part2 #(println (str "Part 2: " %))) ;; FIXME: this is still broken but i give up for now