about summary refs log tree commit diff
path: root/day03.clj
diff options
context:
space:
mode:
Diffstat (limited to 'day03.clj')
-rw-r--r--day03.clj15
1 files changed, 15 insertions, 0 deletions
diff --git a/day03.clj b/day03.clj
new file mode 100644
index 0000000..16981d1
--- /dev/null
+++ b/day03.clj
@@ -0,0 +1,15 @@
+(def data
+  (->> (slurp "day03")
+       (clojure.string/split-lines))
+
+(defn slop [step]
+  (->> (range)
+       (map #(mapv (partial * %) step))
+       (take-while #(< (first %) (count data)))
+       (map (fn [[x y]]
+              (nth (cycle (nth data x)) y)))
+       (filter #{\#})
+       (count)))
+
+(slop [1 3]) ; => 270
+(apply * (map slop [[1 1] [1 3] [1 5] [1 7] [2 1]])) ; => 2122848000