add day 1

master
Clyne 3 years ago
parent e7b490ff10
commit 3beadf8943

@ -0,0 +1,22 @@
; Day 1, part 1
; Read a list of numbers from stdin, separated by newlines.
; Count occurances of the current number being greater than
; the previous.
;
(loop [inc-count 0
prev (Integer/parseInt (read-line))
]
(let [input (read-line)]
(if (not (empty? input))
(let [depth (Integer/parseInt input)]
(recur
(if (> depth prev) (inc inc-count) inc-count)
depth
)
)
(println inc-count)
)
)
)

@ -0,0 +1,29 @@
; Day 1, part 2
; Read a list of numbers from stdin, separated by newlines.
; Count occurances of the current sum being greater than
; the previous, where a sum is that of the current number,
; 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)]
)
)
)
)
)
Loading…
Cancel
Save