DEV Community

Discussion on: Daily Challenge #87 - Pony Express

Collapse
 
larisho profile image
Gab

Clojure:

(def stations [43 23 40 13])

(defn riders [lst]
  "Calculate the number of riders it takes to go to each station"
  (loop [stations lst
         rider 1
         traveled 0]
    (cond
      (empty? stations) rider
      (> (+ traveled (first stations)) 100) (recur (cons (- (+ traveled (first stations)) 100)  (rest stations)) (inc rider) 0)
      :else (recur (rest stations) rider (+ traveled (first stations))))))

(riders stations)
;; 2