All pastes #437036 Raw Edit

Mine

public text v1 · immutable
·published 2007-04-12 20:55 UTC
rendered paste body
(defun run (lst)
  (let ((flist nil)
        (contador 1)
        (valor (first lst)))
    (dolist (x (rest lst))
      (cond ((eq valor x) (incf contador))
            ((= contador 1) (setf flist (append flist (list valor)))
                            (setf valor x)
                            (setf contador 1)
                            (print valor))
            (t (setf flist (append flist (list (list valor contador))))
               (setf valor x)
               (setf contador 1))))

    ; falta adicionar o ultimo...
    (if (= contador 1)
      (setf flist (append flist (list valor)))
      (setf flist (append flist (list (list valor contador)))))

    (print flist)))

(run '(A A A A B C C A A A A D))