All pastes #437034 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-04-12 20:54 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)
                                                  (print valor))
                        ((= 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))