Talk:ABC problem: Difference between revisions

Content added Content deleted
Line 132: Line 132:
<code>
<code>
(defun word-possible-p (word alphabet)
(defun word-possible-p (word alphabet)
(labels ((%first-or-second (b)
(labels ((%usablep (b)
(find (char-upcase (char word 0)) b)))
(find (char-upcase (char word 0)) b)))
(or (zerop (length word))
(or (zerop (length word))
(iter
(iter
(for candidate :in (remove-if-not #'%first-or-second alphabet))
(for candidate :in (remove-if-not #'%usablep alphabet))
(when (word-possible-p
(when (word-possible-p
(subseq word 1) (remove candidate alphabet :count 1))
(subseq word 1) (remove candidate alphabet :count 1))