43 lines
832 B
Common Lisp
43 lines
832 B
Common Lisp
|
|
||
|
(defpackage :aoc/2024/15
|
||
|
(:use :cl :aoc :alexandria :trivia :lla)
|
||
|
(:export
|
||
|
#:sample-data
|
||
|
#:sample-data2
|
||
|
#:part1
|
||
|
#:part2
|
||
|
))
|
||
|
|
||
|
(in-package :aoc/2024/15)
|
||
|
|
||
|
|
||
|
(defun parse-line (line)
|
||
|
line)
|
||
|
|
||
|
|
||
|
(defun parse-input (lines)
|
||
|
(mapcar #'parse-line lines))
|
||
|
|
||
|
(defparameter input-text (test-input 2024 15))
|
||
|
(defparameter input-data (parse-input input-text))
|
||
|
|
||
|
(defparameter sample-text (aoc:split-lines ""))
|
||
|
(defparameter sample-data
|
||
|
(parse-input sample-text))
|
||
|
|
||
|
(defun part1 (data)
|
||
|
(length data))
|
||
|
|
||
|
(defun part2 (data)
|
||
|
(length data))
|
||
|
|
||
|
(defun solve-day ()
|
||
|
(format t "part1: ~A~%" (part1 input-data))
|
||
|
(format t "part2: ~A~%" (part2 input-data)))
|
||
|
|
||
|
(defun submit ()
|
||
|
(let ((p1 (part1 input-data))
|
||
|
(p2 (part2 input-data)))
|
||
|
(if p1 (submit-part1 2024 15 p1))
|
||
|
(if p2 (submit-part2 2024 15 p2))))
|