2016-05-20 簡単な硬貨問題 from IT速報4 Clojure IT速報 前回からの続き 「随分とダサいコードを書いてるのね」と某IQ145の女子高生*1に言われた気がしたので考え直してみたら、こうなった。 (def coins [500 100 50 10 5 1]) (defn coin-divide [n] (map quot (reductions rem n coins) coins)) 一つの直線で全部を処理するのをやめて、横にずらしたような感触。mapが複数のcollectionを受け取れることの便利さがヒカる。 *1:いや、Rich HickeyかPeter Norvigだったかもしれない