Add broken day18pt1
[adventofcode2019.git] / src / adventofcode2019 / lib.clj
index 4b424a8fd47f53a92091bc29f635af1f7ee0ecc2..e81b3062011eb7d0149008ad82c4ab0cabb12535 100644 (file)
@@ -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