This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-12-01
Channels
- # adventofcode (170)
- # announcements (3)
- # babashka (1)
- # beginners (25)
- # cherry (1)
- # cider (3)
- # clj-kondo (5)
- # cljsrn (9)
- # clojure (27)
- # clojure-art (2)
- # clojure-europe (11)
- # clojure-nl (1)
- # clojure-norway (26)
- # clojure-sweden (2)
- # clojure-uk (5)
- # code-reviews (12)
- # component (8)
- # conjure (1)
- # data-science (2)
- # hyperfiddle (6)
- # malli (5)
- # off-topic (65)
- # overtone (34)
- # polylith (3)
- # re-frame (2)
- # reagent (2)
- # releases (3)
- # rum (1)
- # shadow-cljs (2)
- # slack-help (8)
- # sql (8)
- # squint (100)
- # thejaloniki (3)
- # tools-build (16)
- # vim (7)
- # yamlscript (1)
gledelig morgen!
AoC som i https://www.ageofconan.com? ⚔️
Nedtellingen viser ca. 20 timer 🙂 https://adventofcode.com
Av annet nytt! Jeg sa opp jobben min i går, og har signert ny kontrakt med Funcom. Returnerer for å jobbe på MMORPG-tech. Det blir stas!
Apropos AoC, noen som har funnet en elegant løsning på part2? Synes den var helt overraskende vrien med Clojure, mulig jeg er sliten i hodet etter en lang uke..
endte opp med dette på part two:
(def digit-dict {"one" "on1e" "two" "tw2o",
"three" "th3ree", "four" "4r",
"five" "5e", "six" "6e",
"seven" "7n", "eight" "eig8th",
"nine" "nin9e"})
(defn word->digit [str [word digit]]
(s/replace str word digit))
(defn words->digit-string [string]
(reduce word->digit
string
digit-dict))
(defn solve-part2 [data]
(solve-part1 (s/join "\n" (map words->digit-string (s/split-lines data)))))
klarte ikke den første engang, får riktig tall mot eksempelet men feil tall med ekte data. Hashtag noob
haha! Det er fordi oppgaven ikke har klargjort hvordan man skal håndtere ting.. Faktisk en dårlig oppgave, så får håpe kvaliteten tar seg opp
Jeg tror at skaperen ønsket at gpt 4 ikke skulle klare oppgaven på dag 1, noe som førte til at den ble mye vanskeligere også enn vanlig.
moro! https://github.com/augustl/adventofcode2023/blob/main/src/adventofcode2023/day_1.clj
vet ikke om jeg vil si den var elegant, men… Den subs-matches løser det ihvertfall litt data-orientert, men den føles ikke helt smooth akkurat
føler loop
er symptom på at man har litt for lav stdlib-iq, burde kunne gå med en reduce eller mapcat eller noe sånt…
der ja!
(defn subs-matches [re s]
(loop [s s
res []]
(if (seq s)
(if-let [[idx match] (re-find-idx re s)]
(recur (subs s (inc idx)) (conj res match))
(recur (subs s 1) res))
res)))
ble nå til
(defn subs-matches [re s]
(when-let [[idx match] (re-find-idx re s)]
(cons match (lazy-seq (subs-matches re (subs s (inc idx)))))))