그냥..
임..
쩝.. 좀 긴 버전..
iteration 버전?
머 C로 짤줄은 알지만.. 난 LISP을 사랑하니깐..

(reverse "hello") -> "olleh"
임..
쩝.. 좀 긴 버전..
(defun string-reverse (str)
(let ((strlen (length str)))
(cond ((= strlen 0) str)
((= strlen 1) str)
(t
(string-concat (string (aref str (- strlen 1)))
(string-reverse (subseq str 0 (- strlen 1))))))))
iteration 버전?
(defun string-rev (str)
(labels ((iter (src tar)
(let ((strlen (length tar)))
(cond ((= (length tar) 0) src)
(t
(iter (string-concat src (string (aref tar (- strlen 1))))
(subseq tar 0 (- strlen 1))))))))
머 C로 짤줄은 알지만.. 난 LISP을 사랑하니깐..

댓글 없음:
댓글 쓰기