summaryrefslogtreecommitdiffstats
path: root/src/02.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/02.lisp')
-rw-r--r--src/02.lisp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/02.lisp b/src/02.lisp
index 970e363..2eeb799 100644
--- a/src/02.lisp
+++ b/src/02.lisp
@@ -1,17 +1,17 @@
-(load "~/quicklisp/setup.lisp")
+(load "../src/common.lisp")
(ql:quickload 'uiop :silent t)
(ql:quickload 'cl-ppcre :silent t)
-(defun get-file-lines (name)
- (uiop:read-file-lines name))
-
;; Turn the input file into whatever form you will use for both parts
;; (get-file-lines) and (get-file-string) will be useful
-(defun parse-input (input-file)
- (let ((input (mapcar (lambda (s) (cl-ppcre:split " " s)) (get-file-lines input-file))))
+(defun 02/parse-input-direct (input)
+ (let ((input (mapcar (lambda (s) (cl-ppcre:split " " s)) input)))
(mapcar (lambda (x) (cons (intern (string-upcase (CAR x))) (parse-integer (CADR x)))) input)))
-(defun part-a (parsed-input)
+(defun 02/parse-input (input-file)
+ (02/parse-input-direct (get-file-lines input-file)))
+
+(defun 02/part-a (parsed-input)
(let ((h 0) (v 0))
(dolist (i parsed-input)
(case (car i)
@@ -20,7 +20,7 @@
(down (incf v (cdr i)))))
(* h v)))
-(defun part-b (parsed-input)
+(defun 02/part-b (parsed-input)
(let ((h 0) (v 0) (a 0))
(dolist (i parsed-input)
(case (car i)
@@ -29,5 +29,5 @@
(down (incf a (cdr i)))))
(* h v)))
-(time (format t "part 2: ~a~%" (part-a (parse-input "../inputs/02.txt"))))
-(time (format t "part 2: ~a~%" (part-b (parse-input "../inputs/02.txt"))))
+;;(time (format t "part 2: ~a~%" (part-a (parse-input "../inputs/02.txt"))))
+;;(time (format t "part 2: ~a~%" (part-b (parse-input "../inputs/02.txt"))))