Skip to content

Instantly share code, notes, and snippets.

@rhinoman
Created December 5, 2017 15:53
Show Gist options
  • Save rhinoman/31a247907d52316f245837861cf7b04b to your computer and use it in GitHub Desktop.
Save rhinoman/31a247907d52316f245837861cf7b04b to your computer and use it in GitHub Desktop.
Advent of Code 2017 Day 5 solution
(defun solution-p1 (in)
(let* ((idx 0)
(xs (copy-sequence in))
(num-steps 0)
(len (length xs)))
(while (and (> idx -1) (< idx len))
(let ((cur (aref xs idx)))
(aset xs idx (+ cur 1))
(setq idx (+ idx cur))
(setq num-steps (+ num-steps 1)))
)
num-steps)
)
(defun solution-p2 (in)
(let* ((idx 0)
(xs (copy-sequence in))
(num-steps 0)
(len (length xs)))
(while (and (> idx -1) (< idx len))
(let ((cur (aref xs idx)))
(if (>= cur 3)
(aset xs idx (- cur 1))
(aset xs idx (+ cur 1)))
(setq idx (+ idx cur))
(setq num-steps (+ num-steps 1)))
)
num-steps)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment