본문 바로가기

프로그래밍 언어 노트/Clojure

[Clojure 연습] 3. 4Clojure Elementary

클로저에 관한 빈칸 채우기 문제 사이트 4Clojure

차근 차근 풀어봐야겠다 ㅜ

문제

 # 3



"HELLO WORLD"



 

문제

 # 4



:a :b :c



 

문제

 # 5 list conj



'(1 2 3 4)



해설

 conj 는 인자1 맨앞에 인자2 ... 을 차례로 집어 넣은 새로운 리스트를 반환해준다.

-> list라면 앞에 추가



 

문제

 # 6 vector



:a :b :c



해설

 why: = 연사자는 뒤의 파라미터들이 모두 같은지 판단한다, 또한 list vector는 같은 요소라면 같다고판별



 

문제

 # 7 vector conj



[1 2 3 4]



해설

 conj 는 인자1 맨앞에 인자2 ... 을 차례로 집어 넣은 새로운 백터를 반환해준다.

->vector라면 뒤에 추가



 

문제

# 8 set



#{:a :b :c :d}



 

문제

# 9 set conj



2



 

문제

# 10



20



해설

(key) 혹은 (key ) 은 해당 value



 

문제

# 11



{:b 2}



 

문제

#12



3



 

문제

 # 13



[20 30 40]



해설

Rest 는 처음요소를 제외한 나머지 리스트(혹은 백터)를 반환



 

문제

 #14 function



8



해설

#(함수) 에서 %는 처음 파라미터를 의미함

2개이상이면 %1 %2 ..

Partial 은 모르것다.



 

 

문제

 #15 double down

#(* 2 %)

해설

* 2 만 해도 테스트 케이스는 통과하는데

함수를 만들라는 문제인듯?

아닌가 다른 함수를 쓰라는건가?

 

문제

 #16 hello world

#(str "Hello, " % "!")

 

문제

 # 17 map function

'(6 7 8)

해설

Map함수는 (자료구조말고) 인자로 받은 함수 f를 모든 요소에 대하여 진행한다 (매핑)

 

문제

 # 18 filter function

'(6 7)

해설

Filter 는 인자로 받은 함수 f 를 통과하는 요소로 구성된 시퀀스를 반환.

 

문제

 # 64 reduce

+

해설

인자로 받은 함수 f 에 시퀀스의 모든 요소를 순차적으로 돌면서 (처음에는 12번 요소, 그후 리턴값 3번째 요소 -> 리턴값 4번째 요소 이런식으로 함수 f에 인자 2개가 들어감) f를 실행하여 최종 1개의 리턴값을 만듬, 아씨 설명하기 힘드네

 


 

문제

 # 134 nil key

#(and (contains? %2 %1) (= nil (%2 %1)))

해설

Key를 가지고 있고 그 키가 nil인지 확인하는 함수

 

문제

 # 162 Logical falsity and truth

1

 

문제

 # 52 Intro to Destructuring

[c e]

 

문제

 # 161 Subset and Superset

#{1 2}

 

문제

 # 156 Map defaults

 포기 ㅡㅡ 나중에 다시 ㅜ

 

 

문제

 #19

#(first (reverse %))

해설

Last 를 쓰지말라고해서 reverse first를 했음.. 이래도 되나..

 

728x90