|
|
|
|
@ -29,3 +29,22 @@ This is for part 1: |
|
|
|
|
|
|
|
|
|
#+RESULTS: |
|
|
|
|
: 17405 |
|
|
|
|
|
|
|
|
|
Let us redo it with a recursive approach |
|
|
|
|
#+begin_src emacs-lisp |
|
|
|
|
(setq max-batteries 12) |
|
|
|
|
|
|
|
|
|
(defun joltage (bank no-batteries) |
|
|
|
|
(if (< no-batteries 0) 0 |
|
|
|
|
(let ((mult (expt 10 no-batteries)) |
|
|
|
|
(max-available-joltage (-max (-drop-last no-batteries bank)))) |
|
|
|
|
(+ (* mult max-available-joltage) |
|
|
|
|
(joltage (-drop (1+ (-elem-index max-available-joltage bank)) bank) |
|
|
|
|
(- no-batteries 1)))))) |
|
|
|
|
|
|
|
|
|
(-sum (--map (joltage it (- max-batteries 1)) data)) |
|
|
|
|
|
|
|
|
|
#+end_src |
|
|
|
|
|
|
|
|
|
#+RESULTS: |
|
|
|
|
: 171990312704598 |
|
|
|
|
|