[Haskell/2023/07] Add solution
This commit is contained in:
parent
26e633b77c
commit
db4f7c84b0
5 changed files with 63 additions and 9 deletions
|
@ -1,4 +1,3 @@
|
|||
import Control.Applicative
|
||||
import Data.List
|
||||
import Data.List.Split
|
||||
import Lib
|
||||
|
@ -28,7 +27,7 @@ parseGame :: String -> Game
|
|||
parseGame = map parseCubeCounts . splitOn "; " . last . splitOn ": "
|
||||
|
||||
parseCubeCounts :: String -> CubeCounts
|
||||
parseCubeCounts = collectCounts . map (liftA2 (curry id) (read . head) last . words) . splitOn ", "
|
||||
parseCubeCounts = collectCounts . map (fork (curry id) (read . head) last . words) . splitOn ", "
|
||||
|
||||
collectCounts :: [(Int, String)] -> CubeCounts
|
||||
collectCounts = flip map ["red", "green", "blue"] . flip getCount
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import Control.Applicative
|
||||
import Control.Arrow
|
||||
import Control.Monad
|
||||
import Data.Bifunctor
|
||||
import Lib
|
||||
|
||||
type Time = Int
|
||||
|
@ -16,7 +15,7 @@ solve1 :: Input -> Int
|
|||
solve1 = product . map (uncurry solve) . uncurry zip
|
||||
|
||||
solve2 :: Input -> Int
|
||||
solve2 = uncurry solve . join (***) joinInts
|
||||
solve2 = uncurry solve . join bimap joinInts
|
||||
|
||||
solve :: Time -> Distance -> Int
|
||||
solve time distance =
|
||||
|
@ -26,7 +25,7 @@ solve time distance =
|
|||
in root + (time + root + 1 + root_is_int) `mod` 2 - root_is_int
|
||||
|
||||
setup :: String -> Input
|
||||
setup = liftA2 (curry id) head last . map parseLine . lines
|
||||
setup = listToTuple . map parseLine . lines
|
||||
|
||||
parseLine :: String -> [Int]
|
||||
parseLine = map read . tail . words
|
||||
|
|
49
Haskell/2023/07.hs
Normal file
49
Haskell/2023/07.hs
Normal file
|
@ -0,0 +1,49 @@
|
|||
import Data.Bifunctor
|
||||
import Data.List
|
||||
import Data.Maybe
|
||||
import Lib
|
||||
|
||||
type Card = Int
|
||||
|
||||
type Hand = ([Card], Int)
|
||||
|
||||
type Input = [Hand]
|
||||
|
||||
main :: IO ()
|
||||
main = aoc 2023 7 setup solve1 solve2 ["1"]
|
||||
|
||||
solve1 :: Input -> Int
|
||||
solve1 = sum . zipWith (*) [1 ..] . map snd . sortOn sortKey
|
||||
|
||||
solve2 :: Input -> Int
|
||||
solve2 = solve1 . map (first replaceJokers)
|
||||
|
||||
replaceJokers :: [Card] -> [Card]
|
||||
replaceJokers = map ((*) <*> fromEnum . (/= 11))
|
||||
|
||||
sortKey :: Hand -> [Int]
|
||||
sortKey = fork (:) ty id . fst
|
||||
|
||||
ty :: [Card] -> Int
|
||||
ty = ty . count . filter (/= 0)
|
||||
where
|
||||
ty [] = 6
|
||||
ty [_] = 6
|
||||
ty [1, _] = 5
|
||||
ty [2, _] = 4
|
||||
ty [1, 1, _] = 3
|
||||
ty [1, 2, _] = 2
|
||||
ty [1, 1, 1, _] = 1
|
||||
ty _ = 0
|
||||
|
||||
count :: (Eq a) => [a] -> [Int]
|
||||
count = sort . (map . (.) length . flip elemIndices <*> nub)
|
||||
|
||||
setup :: String -> Input
|
||||
setup = map parseHand . lines
|
||||
|
||||
parseHand :: String -> Hand
|
||||
parseHand = bimap parseCards read . listToTuple . words
|
||||
|
||||
parseCards :: String -> [Card]
|
||||
parseCards = map ((+ 2) . fromJust . (`elemIndex` "23456789TJQKA"))
|
|
@ -1,5 +1,6 @@
|
|||
module Lib (aoc) where
|
||||
module Lib (aoc, listToTuple, fork) where
|
||||
|
||||
import Control.Applicative
|
||||
import Control.Monad
|
||||
import Data.Bool
|
||||
import Data.Functor
|
||||
|
@ -64,6 +65,12 @@ exampleOutputPath year day ex part = exampleInputPath year day ex ++ "." ++ show
|
|||
strip :: String -> String
|
||||
strip = Data.Text.unpack . Data.Text.strip . Data.Text.pack
|
||||
|
||||
listToTuple :: [a] -> (a, a)
|
||||
listToTuple = fork (curry id) head last
|
||||
|
||||
fork :: (b -> c -> d) -> (a -> b) -> (a -> c) -> a -> d
|
||||
fork = liftA2
|
||||
|
||||
class Print a where
|
||||
toString :: a -> String
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# AdventOfCode
|
||||
[Advent of Code](https://adventofcode.com/) solutions in [<img height=12 src=".assets/rs.svg"> Rust](Rust), [<img height=12 src=".assets/hs.svg"> Haskell](Haskell), [<img height=12 src=".assets/py.svg"> Python](Python), [<img height=12 src=".assets/apl.svg"> APL](APL) and [<img height=12 src=".assets/ua.png"> Uiua](Uiua)
|
||||
|
||||
## [2023](https://adventofcode.com/2023) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2023): 7/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2023): 7/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2023): 2/25)
|
||||
## [2023](https://adventofcode.com/2023) ([<img height=18 src=".assets/rs.svg"> Rust](Rust/2023): 7/25 | [<img height=18 src=".assets/ua.png"> Uiua](Uiua/2023): 7/25 | [<img height=18 src=".assets/hs.svg"> Haskell](Haskell/2023): 3/25)
|
||||
|Mo|Tu|We|Th|Fr|Sa|Su|
|
||||
|-|-|-|-|-|-|-|
|
||||
|||||[**1**](https://adventofcode.com/2023/day/1) [<img height=12 src=".assets/rs.svg">](Rust/2023/01.rs "Rust solution for 2023/01") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCk51bXMg4oaQIHsib25lIiAidHdvIiAidGhyZWUiICJmb3VyIiAiZml2ZSIKICAgICAgICAic2l4IiAic2V2ZW4iICJlaWdodCIgIm5pbmUifQpEaWdpdHMg4oaQICtAMeKHoTkKRmluZCDihpAgLysgw5crMeKHoTkg4omh4oqQ4oyVCkV4dHJhY3Qg4oaQICvDlzEwIOKIqeKKouKKg-KImOKHjCDilr3iiaAwLgoKwrDiip8vKyDiipwo4oqfIOKIqUV4dHJhY3Qg4oqD4oal4oiYIOKIqUZpbmQgRGlnaXRzLE51bXPCpCniiaBAXG4uCg== "Uiua solution for 2023/01")|[**2**](https://adventofcode.com/2023/day/2) [<img height=12 src=".assets/rs.svg">](Rust/2023/02.rs "Rust solution for 2023/02") [<img height=12 src=".assets/hs.svg">](Haskell/2023/02.hs "Haskell solution for 2023/02") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCkNvbG9ycyDihpAgeyJyZWQiICJncmVlbiIgImJsdWUifQpQYXJzZUNvdW50IOKGkCDiipfiiplDb2xvcnMg4oqZ4oqQ4ouVIMKw4oqf4oeMIOKKnOKWoeKJoEAgLgpQYXJzZVJvdW5kIOKGkCAvK-KKnCjDl-KsmjDihq_CpDPCsOKKmlBhcnNlQ291bnQp4omgQCwuClBhcnNlR2FtZSDihpAg4oqcUGFyc2VSb3VuZOKJoEA7LiDihpgrMuKKl0A6LgoK4oqcKC_ihqVQYXJzZUdhbWUp4omgQFxuLgriiKkvKyDiioMvw5cow5crMeKHoeKnuy4vw5fiiaQxMl8xM18xNCnijYkK "Uiua solution for 2023/02")|[**3**](https://adventofcode.com/2023/day/3) [<img height=12 src=".assets/rs.svg">](Rust/2023/03.rs "Rust solution for 2023/03") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKCk51bXMg4oaQICgKICDiiIo6K0Aw4oehMTAKICDDl8Ks4qyaMOKGuzBfwq8xLi4KICDDl-KNnOKZrVwrCikKU3ltYm9scyDihpAgw5fiioMo4omgQC4pKD0wTnVtcykKR2VhcnMg4oaQID1AKgpOZWlnaGJvcnMg4oaQIOKJoSjDl-KsmjDihrsp4piHMS0x4oehM18z4oipwqQKQSDihpAgKAogIE5laWdoYm9ycyDiioNTeW1ib2xzIE51bXMKICDiio_iip3ima0v4oalCikKQiDihpAgKAogIE5laWdoYm9ycyDiioNOdW1zIEdlYXJzCiAg4piHMeKNiQogIOKsmjDiiaEo4pa9PTLip7su4pa94omgMC7iip0pCiAg4omhL8OX4omh4oqP4oqZwqQKKQoK4oqDKOKKnOKImOKJoEBcbi4pKOKKgjDiiaHii5Xima0gcmVnZXggIlxcZCsiKQriiKkvKyDiioNCIEEK "Uiua solution for 2023/03")|
|
||||
|[**4**](https://adventofcode.com/2023/day/4) [<img height=12 src=".assets/rs.svg">](Rust/2023/04.rs "Rust solution for 2023/04") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAg4oipwrDilqHCsOKKnyDiipwo4pah4oqc4ouV4omgQCAuKeKJoEB8LiDihpgrMuKKl0A6LgpNYXRjaGVzIOKGkCDip7vilr3iiIosClBvaW50cyDihpAg4oyK4oG_4oqZMi0xCldpbk1hdHJpeCDihpAg4qyaMOKJoSjiioIx4oqC4oip4oav4oqZKDDiipkxKSkg4oeh4qe7LuKKgjAKQSDihpAgLyviiaFQb2ludHMKQiDihpAg4oqiOyDijaXiioPiiJgoLyvDlynip7suIOKKg-KImCjCrOKKoikgV2luTWF0cml4CgriioNCIEEg4oqcKE1hdGNoZXMgUGFyc2VDYXJkKeKJoEBcbi4K "Uiua solution for 2023/04")|[**5**](https://adventofcode.com/2023/day/5) [<img height=12 src=".assets/rs.svg">](Rust/2023/05.rs "Rust solution for 2023/05") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlU2VlZHMg4oaQIOKJoeKLleKGmDHiipzilqHiiaBAIC7CsOKWoeKKogpQYXJzZVJhbmdlTWFwIOKGkCDijZzCsFviipniipniiJhd4oqDKC06fOKLheKImHzii4UrKeKKnOKLleKJoEAgLgpQYXJzZU1hcHMg4oaQIOKJoSjilqHiiaHiipBQYXJzZVJhbmdlTWFw4oaYMeKKnOKWoeKJoEBcbi7CsOKWoSkg4oaYMQpDb250YWlucyDihpAg4omNMV8w4omkCkZpbmRSYW5nZU1hcCDihpAg4oqi4oqa4oqC4oqZMSDiiaFDb250YWlucyDiipnijZzijYko4oaYMSkKTWFwTnVtIOKGkCAr4oqh4oqDRmluZFJhbmdlTWFwKOKKguKKmTDiiqLijYk6KQpTZWVkUmFuZ2VzIOKGkCDijZwowrDiip_ijYkp4oqD4oiYKyDihq_CrzFfMgpJbnRlcnNlY3Qg4oaQIOKKn-KKky_ihqUv4oan4o2c4oqf4o2JCklzRW1wdHkg4oaQIC_iiaQKU3BsaXRBdCDihpAg4oqDKOKGp-KKguKIniko4oal4oqCOsKv4oieKQpNYXBTZWVkUmFuZ2Ug4oaQICgKICDCpCviipko4oqZ4oqfIDriiplJbnRlcnNlY3Qg4oipU3BsaXRBdCDiipksKSDCsFviipniipniiJhdOgogIOKIqSjilr3CrOKJoUlzRW1wdHkuKQopCkZsYXRNYXBTZWVkUmFuZ2VzIOKGkCA74oinKOKKg-KLheKImCjiiKniioLiipk6Ok1hcFNlZWRSYW5nZSkpIOKKmeKKmSgu4oavMF8yW10pCk1hcFNlZWRSYW5nZXMg4oaQIOKKguKIpyjiipniioJGbGF0TWFwU2VlZFJhbmdlczopIDriipniipko4oavMF8yW10pCkEg4oaQIC_ihqfiiaEo4oinKE1hcE51bTrCsOKWoSk6KSDiipnCpApCIOKGkCAv4oan4oqi4o2JIOKIpyhNYXBTZWVkUmFuZ2VzOsKw4pahKSA6U2VlZFJhbmdlcwoK4oqDQiBBIOKKg1BhcnNlU2VlZHMgUGFyc2VNYXBzIOKKnOKWocKs4oyVIlxuXG4iLgo= "Uiua solution for 2023/05")|[**6**](https://adventofcode.com/2023/day/6) [<img height=12 src=".assets/rs.svg">](Rust/2023/06.rs "Rust solution for 2023/06") [<img height=12 src=".assets/hs.svg">](Haskell/2023/06.hs "Haskell solution for 2023/06") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClNvbHZlIOKGkCAoCiAgwrDiip_ih4wKICAt4oqTKMOXNHzigb8yLikKICDiioPiiJgo4oyK4oiaKQogID3igb8yLAogICviioMtKOKXvzIrKysxKQopCgriipwo4oqc4ouV4omgQCAu4oaYKzHiipdAOi4p4omgQFxuLgriioMoU29sdmUg4omhLyjii5XiioLiiKnCsOKLlSkpICgvw5fiiaFTb2x2ZeKNiSkK "Uiua solution for 2023/06")|[**7**](https://adventofcode.com/2023/day/7) [<img height=12 src=".assets/rs.svg">](Rust/2023/07.rs "Rust solution for 2023/07") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAgKzLiipfiipkiMjM0NTY3ODlUSlFLQSIKUGFyc2VIYW5kIOKGkCDiioLiipMoUGFyc2VDYXJkwrDilqF84ouVKcKw4oqfIOKKnOKWoeKJoEAgLgpDb3VudENhcmRzIOKGkCDCpOKsmjDihq9bNF0g4oaYMSDiio_ijZYuIOKKleKnu-KKmy4g4pa94omgMC4KSGFuZFR5cGUg4oaQIC3iipk24oqi4oqaIOKJoeKJjVsKICAwXzBfMF8wIDFfMF8wXzAKICAyXzBfMF8wIDFfMV8wXzAKICAyXzFfMF8wIDFfMV8xXzAKICAxXzFfMV8xXSBDb3VudENhcmRzClNvcnQg4oaQIOKKj-KNjyDiiaEo4oqCSGFuZFR5cGUu4oaYwq8xKSAuClJlcGxhY2VKb2tlcnMg4oaQIOKNnCjihpjCrzEpKMOX4omgMTEuKQoK4oqcUGFyc2VIYW5k4omgQFxuLgriiaFSZXBsYWNlSm9rZXJzLgriiKkoLyvDlyArMeKHoeKnuy4g4oqi4oeM4o2JIFNvcnQpCg== "Uiua solution for 2023/07")|[**8**](https://adventofcode.com/2023/day/8)|[**9**](https://adventofcode.com/2023/day/9)|[**10**](https://adventofcode.com/2023/day/10)|
|
||||
|[**4**](https://adventofcode.com/2023/day/4) [<img height=12 src=".assets/rs.svg">](Rust/2023/04.rs "Rust solution for 2023/04") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAg4oipwrDilqHCsOKKnyDiipwo4pah4oqc4ouV4omgQCAuKeKJoEB8LiDihpgrMuKKl0A6LgpNYXRjaGVzIOKGkCDip7vilr3iiIosClBvaW50cyDihpAg4oyK4oG_4oqZMi0xCldpbk1hdHJpeCDihpAg4qyaMOKJoSjiioIx4oqC4oip4oav4oqZKDDiipkxKSkg4oeh4qe7LuKKgjAKQSDihpAgLyviiaFQb2ludHMKQiDihpAg4oqiOyDijaXiioPiiJgoLyvDlynip7suIOKKg-KImCjCrOKKoikgV2luTWF0cml4CgriioNCIEEg4oqcKE1hdGNoZXMgUGFyc2VDYXJkKeKJoEBcbi4K "Uiua solution for 2023/04")|[**5**](https://adventofcode.com/2023/day/5) [<img height=12 src=".assets/rs.svg">](Rust/2023/05.rs "Rust solution for 2023/05") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlU2VlZHMg4oaQIOKJoeKLleKGmDHiipzilqHiiaBAIC7CsOKWoeKKogpQYXJzZVJhbmdlTWFwIOKGkCDijZzCsFviipniipniiJhd4oqDKC06fOKLheKImHzii4UrKeKKnOKLleKJoEAgLgpQYXJzZU1hcHMg4oaQIOKJoSjilqHiiaHiipBQYXJzZVJhbmdlTWFw4oaYMeKKnOKWoeKJoEBcbi7CsOKWoSkg4oaYMQpDb250YWlucyDihpAg4omNMV8w4omkCkZpbmRSYW5nZU1hcCDihpAg4oqi4oqa4oqC4oqZMSDiiaFDb250YWlucyDiipnijZzijYko4oaYMSkKTWFwTnVtIOKGkCAr4oqh4oqDRmluZFJhbmdlTWFwKOKKguKKmTDiiqLijYk6KQpTZWVkUmFuZ2VzIOKGkCDijZwowrDiip_ijYkp4oqD4oiYKyDihq_CrzFfMgpJbnRlcnNlY3Qg4oaQIOKKn-KKky_ihqUv4oan4o2c4oqf4o2JCklzRW1wdHkg4oaQIC_iiaQKU3BsaXRBdCDihpAg4oqDKOKGp-KKguKIniko4oal4oqCOsKv4oieKQpNYXBTZWVkUmFuZ2Ug4oaQICgKICDCpCviipko4oqZ4oqfIDriiplJbnRlcnNlY3Qg4oipU3BsaXRBdCDiipksKSDCsFviipniipniiJhdOgogIOKIqSjilr3CrOKJoUlzRW1wdHkuKQopCkZsYXRNYXBTZWVkUmFuZ2VzIOKGkCA74oinKOKKg-KLheKImCjiiKniioLiipk6Ok1hcFNlZWRSYW5nZSkpIOKKmeKKmSgu4oavMF8yW10pCk1hcFNlZWRSYW5nZXMg4oaQIOKKguKIpyjiipniioJGbGF0TWFwU2VlZFJhbmdlczopIDriipniipko4oavMF8yW10pCkEg4oaQIC_ihqfiiaEo4oinKE1hcE51bTrCsOKWoSk6KSDiipnCpApCIOKGkCAv4oan4oqi4o2JIOKIpyhNYXBTZWVkUmFuZ2VzOsKw4pahKSA6U2VlZFJhbmdlcwoK4oqDQiBBIOKKg1BhcnNlU2VlZHMgUGFyc2VNYXBzIOKKnOKWocKs4oyVIlxuXG4iLgo= "Uiua solution for 2023/05")|[**6**](https://adventofcode.com/2023/day/6) [<img height=12 src=".assets/rs.svg">](Rust/2023/06.rs "Rust solution for 2023/06") [<img height=12 src=".assets/hs.svg">](Haskell/2023/06.hs "Haskell solution for 2023/06") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClNvbHZlIOKGkCAoCiAgwrDiip_ih4wKICAt4oqTKMOXNHzigb8yLikKICDiioPiiJgo4oyK4oiaKQogID3igb8yLAogICviioMtKOKXvzIrKysxKQopCgriipwo4oqc4ouV4omgQCAu4oaYKzHiipdAOi4p4omgQFxuLgriioMoU29sdmUg4omhLyjii5XiioLiiKnCsOKLlSkpICgvw5fiiaFTb2x2ZeKNiSkK "Uiua solution for 2023/06")|[**7**](https://adventofcode.com/2023/day/7) [<img height=12 src=".assets/rs.svg">](Rust/2023/07.rs "Rust solution for 2023/07") [<img height=12 src=".assets/hs.svg">](Haskell/2023/07.hs "Haskell solution for 2023/07") [<img height=12 src=".assets/ua.png">](https://uiua.org/pad?src=JmZ3YSAiLi4vbGliLnVhIiAiTG9hZCDihpAgJnNjIgomaSAiLi4vbGliLnVhIiAiTG9hZCIKClBhcnNlQ2FyZCDihpAgKzLiipfiipkiMjM0NTY3ODlUSlFLQSIKUGFyc2VIYW5kIOKGkCDiioLiipMoUGFyc2VDYXJkwrDilqF84ouVKcKw4oqfIOKKnOKWoeKJoEAgLgpDb3VudENhcmRzIOKGkCDCpOKsmjDihq9bNF0g4oaYMSDiio_ijZYuIOKKleKnu-KKmy4g4pa94omgMC4KSGFuZFR5cGUg4oaQIC3iipk24oqi4oqaIOKJoeKJjVsKICAwXzBfMF8wIDFfMF8wXzAKICAyXzBfMF8wIDFfMV8wXzAKICAyXzFfMF8wIDFfMV8xXzAKICAxXzFfMV8xXSBDb3VudENhcmRzClNvcnQg4oaQIOKKj-KNjyDiiaEo4oqCSGFuZFR5cGUu4oaYwq8xKSAuClJlcGxhY2VKb2tlcnMg4oaQIOKNnCjihpjCrzEpKMOX4omgMTEuKQoK4oqcUGFyc2VIYW5k4omgQFxuLgriiaFSZXBsYWNlSm9rZXJzLgriiKkoLyvDlyArMeKHoeKnuy4g4oqi4oeM4o2JIFNvcnQpCg== "Uiua solution for 2023/07")|[**8**](https://adventofcode.com/2023/day/8)|[**9**](https://adventofcode.com/2023/day/9)|[**10**](https://adventofcode.com/2023/day/10)|
|
||||
|[**11**](https://adventofcode.com/2023/day/11)|[**12**](https://adventofcode.com/2023/day/12)|[**13**](https://adventofcode.com/2023/day/13)|[**14**](https://adventofcode.com/2023/day/14)|[**15**](https://adventofcode.com/2023/day/15)|[**16**](https://adventofcode.com/2023/day/16)|[**17**](https://adventofcode.com/2023/day/17)|
|
||||
|[**18**](https://adventofcode.com/2023/day/18)|[**19**](https://adventofcode.com/2023/day/19)|[**20**](https://adventofcode.com/2023/day/20)|[**21**](https://adventofcode.com/2023/day/21)|[**22**](https://adventofcode.com/2023/day/22)|[**23**](https://adventofcode.com/2023/day/23)|[**24**](https://adventofcode.com/2023/day/24)|
|
||||
|[**25**](https://adventofcode.com/2023/day/25)|26|27|28|29|30|31|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue