[clojure/etc] map, reduce 의미 및 사용법
clojure (뿐만 아니라 함수형 언어나 문법) 를 공부하면서 자주 헷깔리는 게 map 이랑 reduce 인 것 같다. 다시 한 번 정리하는 시간을 갖기 위해 메모한다. map은 mapping 한다고 생각하면 좋을 것 같다. 기본적으로 첫번째로 인자로 함수를 받고, 두번째 인자로 리스트 등을 인자로 받는다. 리스트의 원소 각각에 함수를 적용하여 매핑된 결과의 리스트를 반환한다. 수학 시간에 함수를 배울 때 자주 나오는 정의역, 치역을 보여주는 그림을 생각하면 될 것 같다. 함수 f가 y=x+1 이고, x는 {0,1,2,3} 일 때 y의 값은? f(x) = y f x(정의역) -> y(치역) 0 -> 1 1 -> 2 2 -> 3 3 -> 4 y = {1,2,3,4} 이다. 이걸 clojure로 표현하면 ..