blob: c358e5a328a7f0a66d903e7c41bde5409e1ee7aa (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/usr/bin/sbcl --script
(load "../interpreter.lisp")
(defun main (filename)
(let ((stdin (make-string-input-stream
;; START PART 1
"1"
;; END PART 1 START PART 2
"5"
;; END PART 2
))
(stdout (make-string-output-stream)))
(intcode:run (intcode:parse "input") stdin stdout)
(parse-integer (last-line (get-output-stream-string stdout)))))
(defun last-line (string)
(let* ((nl-e (position #\Newline string :from-end t))
(nl-b (position #\Newline string :from-end t :end nl-e)))
(subseq string (1+ (or nl-b -1)) nl-e)))
(format t "~d~%" (main "input"))
|