add day 1
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…
Reference in New Issue