aboutsummaryrefslogtreecommitdiff
path: root/2022/Day06/part-two.cl
blob: 6389c90edaffecf3517b4d27ed992134c6be0ede (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;;; https://gitlab.com/Syndamia/senzill
(require :senzill)
(use-package :senzill.collections)
(use-package :senzill.io)

(defconstant +process-characters+ 14)

(ask-for-stream (prog-input)
  (let ((met '()) (sop -1))
    (doread-lines (inpt :read-line-options (prog-input NIL))
        (loop for i from 0 to (- (length inpt) 1)
              until (> sop 0) do

              (loop until (not (find (char inpt i) met)) do
                    (pop-back met))
              (push (char inpt i) met)
              (if (= (length met) +process-characters+)
                (setq sop (+ 1 i)))))
    (print sop)))