day1: revisit, improve

master
Clyne 3 years ago
parent 8ada5e0331
commit 9b0982ba81

@ -4,14 +4,12 @@
; the previous.
;
(->> (slurp "./in")
(clojure.string/split-lines)
(map read-string)
(as-> (slurp "./in") $
(clojure.string/split-lines $)
(map read-string $)
(reduce
#(update [%2 (second %1)] 1 (partial + (if (> %2 (first %1)) 1 0)))
[999999 0]
)
(second)
(println)
)
#(cond-> (assoc %1 0 %2) (> %2 (first %1)) (update 1 inc))
[(first $) 0]
(rest $))
(println (second $)))

@ -5,25 +5,11 @@
; the previous number, and the next number.
;
(loop [inc-count 0
buff (repeat 4 (Integer/parseInt (read-line)))
]
(let [next (read-line)
new-count (if (> (last buff) (first buff))
(inc inc-count)
inc-count
)
]
(if (empty? next)
(println new-count)
(recur
new-count
(concat
(rest buff)
[(Integer/parseInt next)]
)
)
)
)
)
(let [input (->> (slurp "./in")
clojure.string/split-lines
(mapv read-string))]
(println
(count
(filter #(< (get input %) (get input (+ % 3)))
(range 0 (- (count input) 3))))))

Loading…
Cancel
Save