문제 |
#20 penultimate element |
답 |
(fn [para-list] (last (drop-last para-list)))
다른 누구의 답에는 comp를 사용하였는데 (comp second reverse ) Comp는 중요해보인다. |
풀이 |
Comp compare 가 아니라 composition이다. 일종의 함수조합을 만들어냄 ((Comp f g) x) 라면 f(g(x)) 하는 함수 가 되는듯 |
문제 |
#35 |
답 |
7 |
풀이 |
|
문제 |
#36 |
답 |
[x 7 y 3 z 1] |
풀이 |
|
문제 |
#37 |
답 |
"ABC" |
풀이 |
|
문제 |
# 57 |
답 |
[5 4 3 2 1] |
풀이 |
|
문제 |
#71 Rearranging code -> |
답 |
last |
풀이 |
->연산자는 진행순서를 고대로 나타내게 할수있음. -> 연산자는 첫 x 및 form을 계속하여 첫번째 인자로 삽입.
(first (.split (.replace (.toUpperCase "a b c d") "A" "X") " "))
(-> "a b c d" .toUpperCase (.replace "A" "X") (.split " ") first) |
문제 |
#68 loop |
답 |
[7 6 5 4 3] |
풀이 |
Loop는 재귀(recur) 를 위한 루프를 제공해줌 |
문제 |
# 72 Rearranging code ->> |
답 |
apply + |
풀이 |
->>연산자는 진행순서를 고대로 나타내게 할수있음. ->> 연산자는 첫 x 및 form을 계속하여 마지막 인자로 삽입.
(reduce + (take 10 (filter even? (map #(* % %) (range)))))
(->> (range) (map #(* % %)) (filter even?) (take 10) (reduce +))
Drop 는 숫자, 시퀀스를 받고 시퀀스에서 숫자만큼 drop함 Take는 반대로 그만큼만 취함. (drop 2 [1 2 3 4]) -> [3 4] (lazy) (take 2 [1 2 3 4]) -> [1 2] (lazy
|
문제 |
#145 for |
답 |
[1 5 9 13 17 21 25 29 33 37] (range 1 40 4) 으로 만들어됨 |
풀이 |
For는 시퀀스 반복(for-each와 비슷) 및 시쿼스 생성. Rem은 나머지 Range의 경우 (range start end step)을 사용가능 Partition 은 시퀀스를 주어진 개수만큼가지는 리스트로 분할 (partition 2 (range 20)) -> ((0 1) (2 3) (4 5) (6 7) (8 9) (10 11) (12 13) (14 15) (16 17) (18 19))
|
'프로그래밍 언어 노트 > Clojure' 카테고리의 다른 글
[Clojure 연습] 5. 4Clojure Easy 1 (0) | 2018.10.15 |
---|---|
[Clojure] 좋은 사이트들 (0) | 2018.10.14 |
[Clojure 연습] 3. 4Clojure Elementary (0) | 2018.10.14 |
[Clojure 연습] 2. 기초 연습문제 (0) | 2018.10.13 |
[Clojure] read-line을 통하여 값을 읽을때 print보다 먼저 불리는 현상 (0) | 2018.10.08 |