From df25235f1e020f943397a28d6a87c6d84b542c17 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sat, 14 Dec 2024 22:46:34 +0100 Subject: Add 2019 day 2 solutions --- 2019/02/puzzles.lisp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 2019/02/puzzles.lisp (limited to '2019/02/puzzles.lisp') diff --git a/2019/02/puzzles.lisp b/2019/02/puzzles.lisp new file mode 100644 index 0000000..9a3acb7 --- /dev/null +++ b/2019/02/puzzles.lisp @@ -0,0 +1,24 @@ +#!/usr/bin/sbcl --script + +(load "../interpreter.lisp") + +(defun run-with-noun-and-verb (noun verb ram) + (setf (aref ram 1) noun + (aref ram 2) verb) + (intcode:run ram) + (aref ram 0)) + +;; START PART 1 +(let ((program (intcode:parse "input"))) + (format t "~d~%" (run-with-noun-and-verb 12 2 program))) +;; END PART 1 START PART 2 +(let* ((program (intcode:parse "input")) + (ram (make-array (length program)))) + (dotimes (noun 100) + (dotimes (verb 100) + (loop for i from 0 below (length program) + do (setf (aref ram i) (aref program i))) + (when (= (run-with-noun-and-verb noun verb ram) 19690720) + (format t "~d~%" (+ (* 100 noun) verb)) + (quit))))) +;; END PART 2 \ No newline at end of file -- cgit v1.2.3