Andy, (edited ) In Factor:
Here it is on GitHub with comments and imports.
<span style="color:#323232;">: known-color ( color-phrases regexp -- n ) </span><span style="color:#323232;"> all-matching-subseqs [ 0 ] [ </span><span style="color:#323232;"> [ split-words first string>number ] map-supremum </span><span style="color:#323232;"> ] if-empty </span><span style="color:#323232;">; </span><span style="color:#323232;"> </span><span style="color:#323232;">: line>known-rgb ( str -- game-id known-rgb ) </span><span style="color:#323232;"> ": " split1 [ split-words last string>number ] dip </span><span style="color:#323232;"> R/ d+ red/ R/ d+ green/ R/ d+ blue/ </span><span style="color:#323232;"> [ known-color ] tri-curry@ tri 3array </span><span style="color:#323232;">; </span><span style="color:#323232;"> </span><span style="color:#323232;">: possible? ( known-rgb test-rgb -- ? ) </span><span style="color:#323232;"> v<= [ ] all? </span><span style="color:#323232;">; </span><span style="color:#323232;"> </span><span style="color:#323232;">: part1 ( -- ) </span><span style="color:#323232;"> "vocab:aoc-2023/day02/input.txt" utf8 file-lines </span><span style="color:#323232;"> [ line>known-rgb 2array ] </span><span style="color:#323232;"> [ last { 12 13 14 } possible? ] map-filter </span><span style="color:#323232;"> [ first ] map-sum . </span><span style="color:#323232;">; </span><span style="color:#323232;"> </span><span style="color:#323232;">: part2 ( -- ) </span><span style="color:#323232;"> "vocab:aoc-2023/day02/input.txt" utf8 file-lines </span><span style="color:#323232;"> [ line>known-rgb nip product ] map-sum . </span><span style="color:#323232;">; </span>
drudoo, gitea.baerentsen.space/FrederikBaerentsen/…/2023 doing it in python.
Todays puzzle wasn’t too bad. Part 1 was definitely longer than part 2.
isti115, Yes, quite the role reversal between the parts from yesterday. 😀
hal9001, Here is my clojure solution
Back to a more typical difficulty today ❄️
Add comment