문제 |
# 21 |
답 |
(fn [li idx] (last (take (+ idx 1) li)) ) |
해설 |
배웠던 take 로 자르고 그중에 마지막 |
문제 |
# 22 count a Sequence |
답 |
(fn [li] ((fn [l c] (if (empty? l) c (recur (rest l) (inc c)))) li 0))
;; best answer #(reduce (fn [x y] (inc x)) 0 %)
|
해설 |
Best answer 미춋네.. Reduce 에서 Fn Var Seq 가 가능 Var를 넣어주면 첫번째 인자는 이놈이 넘어가게 가능 |
문제 |
# 24 |
답 |
apply + |
해설 |
너무 쉽고~ |
문제 |
# 25 |
답 |
filter odd? |
해설 |
|
문제 |
# 23 Reverse a Sequence |
답 |
(fn [raw] (let [li (vec raw)] (loop [n (- (count li) 1) l []] (if (< n 0) l (recur (dec n) (conj l (nth li n)))))))
;Best answer (fn [r] (reduce (fn [li s] (cons s li)) '() r)) |
해설 |
참고 Vec -> vec 변환 Vector -> 요소를 가지는 vector 생성
//best 미춋네.. Reduce 에서 Fn Var Seq 가 가능 Var를 넣어주면 첫번째 인자는 이놈이 넘어가게 가능
|
문제 |
# 27 |
답 |
(fn [s] (= (seq s) (seq (reverse s)))) |
해설 |
스트링을 reverse 하면 seq가 나온다 (\a \b \c)처럼 Seq(string) 하면 string을 seq로 바꿀수있다 “abc” -> (\a \b \c) List(string) 은 해당 스트링을 하나 가지는 리스트로 만듬 ㅜ |
대가리 터지것네 ㅜ
개힘들게 푼다음에 best answer 찾아보면
기가 맥히게들 풀었다..
'프로그래밍 언어 노트 > Clojure' 카테고리의 다른 글
[Clojure] 4Clojure Easy 1 (0) | 2019.07.10 |
---|---|
[Clojure] 클로저 디자인패턴 (0) | 2019.06.28 |
[Clojure] 좋은 사이트들 (0) | 2018.10.14 |
[Clojure 연습] 4. 4Clojure Elementary 2 (0) | 2018.10.14 |
[Clojure 연습] 3. 4Clojure Elementary (0) | 2018.10.14 |