Compare commits
3 Commits
d6ee3239c8
...
dcc3c287bb
Author | SHA1 | Date |
---|---|---|
Samuel Ortion | dcc3c287bb | |
Samuel Ortion | 28948d6ed4 | |
Samuel Ortion | b2dc08f0f4 |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,22 @@
|
||||||
|
;; Day 1: Not Quite Lisp
|
||||||
|
;;
|
||||||
|
;; Part 1: What is the floor Santa takes ?
|
||||||
|
|
||||||
|
|
||||||
|
(defparameter balance 0)
|
||||||
|
|
||||||
|
(defun direction (char) (cond
|
||||||
|
((char= char #\()
|
||||||
|
+1)
|
||||||
|
((char= char #\))
|
||||||
|
-1)
|
||||||
|
))
|
||||||
|
|
||||||
|
(with-open-file (in "./data/input")
|
||||||
|
|
||||||
|
(do ((char (read-char in nil)
|
||||||
|
(read-char in nil)))
|
||||||
|
((null char))
|
||||||
|
(setf balance (+ balance (direction char)))))
|
||||||
|
|
||||||
|
(print balance)
|
|
@ -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