Solve part 2 of Not Quite Lisp
This commit is contained in:
parent
28948d6ed4
commit
dcc3c287bb
|
@ -1,4 +1,7 @@
|
|||
;; Day 1: Not Quite Lisp
|
||||
;;
|
||||
;; Part 1: What is the floor Santa takes ?
|
||||
|
||||
|
||||
(defparameter balance 0)
|
||||
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
;; Day 1: Not Quite Lisp
|
||||
;;
|
||||
;; Part 2: Position of the character with balance -1 (basement)
|
||||
;;
|
||||
;; ref.
|
||||
;; - read: https://lispcookbook.github.io/cl-cookbook/files.html
|
||||
|
||||
(defparameter balance 0)
|
||||
(defparameter position 0)
|
||||
|
||||
(defun direction (char) (cond
|
||||
((char= char #\()
|
||||
+1)
|
||||
((char= char #\))
|
||||
-1)
|
||||
))
|
||||
|
||||
(with-open-file (in "./data/input")
|
||||
(loop for char = (read-char in nil)
|
||||
until (= balance -1)
|
||||
do
|
||||
(setf balance
|
||||
(+ balance (direction char)))
|
||||
(setf position
|
||||
(+ position 1))))
|
||||
|
||||
(print position)
|
Loading…
Reference in New Issue