대충 이런거


(defn toggle-doors [doors factor]

  ;; open -> true

  ;; close -> false

  (loop [[door & more-doors] doors i 0 new-doors []]

    (if (nil? door)

      new-doors

      (recur more-doors

             (inc i)

             (conj new-doors

                   (if (zero? (mod (inc i) factor))

                     (not door)

                     door))))))


(defn -main [n-doors]

  (->> (loop [i 2 doors (-> (repeat n-doors true) vec)]

         (if (> i n-doors)

           doors

           (recur (inc i) (toggle-doors doors i))))

       (keep-indexed #(when %2 (inc %1)))))