You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

792 B

Solution to p3

First load the data as a list of lists of numbers

  (with-temp-buffer
    (insert-file-contents "input")
    (advent/replace-multiple-regex-buffer
     '(("\\(.\\)" . "\\1 ")
       ("^" . "(")
       ("$" . ")")))
    (goto-char (point-min))
    (insert "(setq data '(")
    (goto-char (point-max))
    (insert "))")
    (eval-buffer))

This is for part 1:

  (defun joltage (bank)
    (let* ((max-joltage (-max bank))
           (max-pos (1+ (-elem-index max-joltage bank))))
      (if (< max-pos (length bank))
          (+ (* 10 max-joltage) (-max (-drop max-pos bank)))
        (+ (* 10 (-max (-drop-last 1 bank))) max-joltage))))

  (-sum (-map #'joltage data))
17405