L-99

http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html
Javaの問題集を探していたつもりです。

(defn my-last [lst]
  (reduce (fn [a b] b) lst))

(defn my-but-last [lst]
  (if (<= (count lst) 2) lst
      (recur (rest lst))))

(defn element-at [lst n]
  (if (= n 1) (first lst)
      (recur (rest lst) (dec n))))

(defn my-count 
  ([lst] (my-count lst 0)) 
  ([lst n] (if (empty? lst) n
               (recur (rest lst) (inc n)))))