아까 했던거 속도 쥐어짜기 한번 해봄. 잘됨 ㅇㅇ


존나게 길어도  6자리 이내에서 다 해결 ㅇㅇ




(def not-zero? (complement zero?))


(defn str->mod62s [s]

  (take-while not-zero?

              (iterate #(quot % 62) (Murmur3/hashUnencodedChars s))))


(defn shorten-str [s]

  (transduce (comp (map #(mod % 62)) (map n->ch-map))

             str

             (str->mod62s s)))



url-shortener.core> (shorten-str "/icketq1188djsafkjds/akfjkdsajf/kdsajfka/sjdfkdsajf88")

;; => Qfjl82

url-shortener.core> (shorten-str "/icketq1188djsafkjds/akfjkdsajf/kdsajfka/sjdfkdsajf88/dasjfkajdfkhjadgfjhejrhk/adshjfhdajfh/hadsfjhdsajfh/dfhajdfhakj.html")

;; => j3h6o1

url-shortener.core> (shorten-str "/873u4ihnjdahfjgbnmjzkfjsadfj3q45ytr780b6zijwer/icketq1188djsafkjds/akfjkdsajf/kdsajfka/sjdfkdsajf88/dasjfkajdfkhjadgfjhejrhk/adshjfhdajfh/hadsfjhdsajfh/dfhajdfhakj.html")

;; => 7XPoFz