; 末尾の文字をチェックする関数を作れば良い ; p : pattern-string ; s : source-string (defun string-suffix-p (p s) (let ((slen (length s)) (plen (length p))) (and (>= slen plen) (string= (subseq s (- slen plen)) p)))) (defun main (&rest argv) (declare (ignorable argv)) (let* ((s (read-line)) (slen (length s))) (if (string-suffix-p "ai" s) (progn (write-string s nil :end (- slen 2)) (write-string "AI")) (progn (write-string s) (write-string "-AI"))) (terpri))) (main)