diff --git a/2024/R/day19.qmd b/2024/R/day19.qmd new file mode 100644 index 0000000..509d1bb --- /dev/null +++ b/2024/R/day19.qmd @@ -0,0 +1,32 @@ +--- +title: "Day 19" +date: 2024-12-19 +author: + name: https://adventofcode.com/2024/day/19 + url: https://adventofcode.com/2024/day/19 +--- + +## Setup + +```{r setup} +# Libraries +library(tidyverse) + +# Read input from file +available <- read_lines("../input/day19.txt", n_max = 1) |> str_split_1(", ") +desired <- read_lines("../input/day19.txt", skip = 2) +``` + +## Part 1 + +```{r} + +# Convert all possible available patterns into a regex string +regex <- str_c("^(", str_c(available, collapse = "|"), ")+$") + +# Test each desired pattern for a regex match and count the number of matches +desired |> + str_detect(regex) |> + sum() + +``` diff --git a/2024/input/day19.txt b/2024/input/day19.txt new file mode 100644 index 0000000..aa74deb --- /dev/null +++ b/2024/input/day19.txt @@ -0,0 +1,402 @@ +ubgw, gug, wg, ubrgrrbr, gbbu, bg, ggu, uwu, uuuw, uu, brrg, rrb, ww, buggu, bbgwu, wwu, gbrgu, gggggr, grwggw, brru, wwuwubb, rbbr, wgbbgg, rbrr, wur, uwg, rub, gwubwuwr, brrb, wrgbbrg, brb, wuw, bwrubgw, gwu, uugruw, bggr, gww, brbrrbur, rrugurr, uurruru, uug, rburg, urggrw, uruu, bbr, gwrw, uubuggb, ggrr, gu, ugb, gbguwr, ubgwb, rwb, rggwbu, ugur, buggwg, rrrrg, gub, gbb, uwbu, ruw, wugrgbw, gwr, bgbbuu, rw, wrrb, ubguug, burgb, www, rbubbwg, wwguur, grb, gggr, gggubb, ubgu, gwbg, wug, wwr, gggguw, urr, gb, wwwrw, ugu, grbuw, ubb, bwrrr, ggg, guuugb, rwbb, rbw, wurwwb, brrbguwu, rwubg, guwbg, gwrb, gwwwb, ugbgru, uwrugu, gbg, gwrr, ggww, bwubwg, rww, bgw, rbbwwb, ggbugbg, ubrw, rurb, wwgwrbwr, ur, ug, rbrgbwg, gwg, gbbgw, uggr, wruw, gwb, brugbr, rur, gbw, wbuuu, wubw, ub, uwug, gr, uwwrwg, wubub, bbb, guguw, ggbbg, burrgu, bgb, wbrwwr, ugubwb, rugw, rbb, uur, w, grwu, rbrw, ubbrw, bbw, rwg, rgggrgrb, bu, bbgw, r, rruwb, uguwgb, ggr, brg, ggbg, bubru, bgugrw, bubbbb, guuub, guwgbwr, rrguuww, gbuw, rb, wrw, wubwb, gw, rubbrwbb, wuguu, wwub, brub, rgbu, wrbw, urbwuu, ubuwub, rbwbb, rurrg, gurb, ugrrr, bur, wu, gwbgwubr, ruu, wbbr, wrwg, ubbrg, brugrbw, uuwg, uru, ubwguru, wbu, bwrrbg, bggbgwb, uuw, gbugr, guw, rrgb, wwbgr, urw, ugg, wgg, rbur, wurwrwr, urg, uwru, wbbg, rbbgwg, wwwuurr, ugw, rgugb, ugrubru, gugwgbur, guwubrg, gugbr, bub, wwuw, guwbbu, ubuuwg, rgbrubr, wuubbg, bgur, rbub, bruru, wgwbrg, rug, gbu, ugrgbwwr, rggrg, gggw, wggr, wgwugu, wub, wwbrr, wb, wuwr, gwbw, bb, brrgb, rgbr, gbr, bgr, bburbbb, uguggrgr, wrg, wr, ruubr, bbww, bbubu, brw, ggrrwgb, rbbb, ubwgbrw, rgu, gur, wgrw, wbuu, rwgbw, rbr, wbrrgb, bru, wwwb, gwwrurbr, wbwg, wbb, urbugr, gwug, rrrb, urgr, rrubbu, rgrwgw, uub, rbugru, gru, rrwb, wbbgb, urb, rbu, bwuw, br, uwr, wwwgbwb, rbbwru, wgwwuwrg, grbw, ggb, brrgw, grwww, bbwbwwu, wuu, guuuubu, uwrr, bgu, ubuuug, rgwubug, rwbuuug, wgwwbw, ggbrrwr, grr, guuru, g, bwugw, uwwurg, gubbwbu, wggg, rrbbg, wwugrbgu, bug, grg, wugur, burubgwg, uwb, bbuuguuw, rbrbu, bwwgg, rbuggwg, brr, rbwuggu, buru, bbbbb, ggwb, rrwrwb, wugwgbuw, wbrw, bwu, wrr, guwwbg, rgw, wgr, wugg, ugbgu, gwrrrbg, uurg, uww, wwbbgbub, uwgug, buww, u, wrrrruww, brbgb, wru, guubrwr, gbgbr, uuu, rrr, brwg, wggu, rgwrgw, ugr, grwwbw, ugbrw, rwgr, buubru, uubggur, rgg, bbrr, gwrgug, wwwuw, rurwbb, uubw, gbrwr, ugguwurr, guur, gwrgru, rwug, ruubu, wwrg, rrg, ggw, wrb, ubwubw, rwr, bbg, uwrb, bgrbg, bgg, bbu, bwg, guubb, burwu, wwb, rr, bwbg, ugbub, urwwwbg, ugubgg, bwr, gbuug, bbwwbwu, wrbwb, wrub, uwwg, rrw, gbuu, wgrww, urwwg, bwrr, rrug, rru, wbgrg, uw, buu, rubwgwr, wbg, rwbbr, buurb, wrgbr, ggbw, wuwbw, buw, brurrur, wgw, wubu, wwbb, wgu, bgbu, uwgbu, rrbruu, ru, wwwbu, gg, wgrgr, uuug, ruub, rgwbrg, rbrrr, bgrr, ubw, urwgwgw, bww, guruwr, rwwrr, wgb, ubu, gguu, wbr, guwww, rgb, uwww, rbggr, ubr, grw, wrggur, bwwg, guu, wbw, gwbb, gwbub, rgubw, wwg, rggru, rbwbgg + +gbuggugwwurbbbggrrwbgubrgbgwwwbwurbuurgrburbbrgbrg +uwwwrgbrugbbbbrgggubrbgwbggwugwbrrguwrgubuuggwggwrbuuuu +rurgubgbgruwubbrbgbwrwgggwbggbbgrgbgbuwurrrrwwrwg +bgbgbugwrrwuurrggbbugwbgwubrbrubuuburwbbrbrgrgwb +wrbgrrurbgwwwrbubgbwubrgwguwggguuwguwbwuggubruw +wgburbrwuwwugruurrbrrgbwrbbbwbguwwwurrbuubgwbrwur +wurrwrugrwbrwrgrwrbbubugrwbuugubwwwuburwruwrbb +rbruwbbruugwuwuwgwbrubwbrgwwbrwbbggrrwbbwrgbwbrrwb +bgugwbwrrwrrwbggggrruurrggbbwrwwbwwugwbbrbguwr +bbugwgugwrrwrgggwurrbuubbruburrgbuuwbbbgrbwgrggwuwu +brgugrrwgruwrgggwuwgugurwbbgbgwrwgrugrggrrwg +ggbbuwuwbrguwrbrguruburbwwgrwbrrgbbuugwuggwgwubruugbuggbr +rwwrbwuwuugbwurubuuuubbwrurrrbrrbuwwrwwbbw +gwgbubgbrwwbggbuwbubugwburgrbbrbbbbrubbbgu +bwbrwwurwuwggwbgbrgubgbbuwuuwbbrrbguwugburrbbgg +ruwrrugbwgwugrrrbwgbuwwbbgbubbubrrwwgbbgubgggurgbugbwbu +rrrrbrbggubrbbrbbwbrugrguuwguwrburuurrrrbugugwrrg +rbgwubgrbwrwrggurguuwrrrugruwbuurwgrgrrguu +rbuugrggwbwwggwugrwrrrwbbrubwrwurbbuwruwbbwbuurrrwrubgggrr +gruwbburgwwuuwurgwwuwbgugbubrgrgwrrrgwwwwgbwrrwwwwub +rgurgubbubbgwbwruugwbgrrrbguwuuggrgwwrgwbr +bwbrwgrrwwubrgrrbrbwuurbruuubwrwrwuuugwbrgwugww +gbubrbbgurwbuguwurbgbubrgrrbrwruwwubbgggrwwrgbrrru +brrgubgbwbwwugrwgwrwwbgwbwbgwgbbbgrbgggrrrrubwubbgu +rrrbrugurubgrrwrgubwguurbggguwrwbrggwrgrgggwwwwrru +bguwgrwbggrrbubrrwgwgrgurgwugguwruwgugbrwuugruburwuwg +rugrggbugbrrguguuwwuwrggubwwrbubbwbrrwubburrburrgguubwgbwb +uwgwgrgbggbwrruuuwguuwwwgrwwgrgurrbgururrrrgbg +bwwrbrrbrburrguubgwrgggwrugugbrrrgwgguburuwr +rbwbruuuguwgbgrbwurbbwrbuuwggrrrgwbggrrrgrwgwbwrggwbwbg +gwruuburbbbgrwwgbgrgwrgrgruwubrrrbggwburrurbbrr +gwuuwubwuggwwgrwuuururugbbbgbbbbgrgbgrbbguwwbww +bbbbgrbrwurwwwubuwgbrrurbwubuurwrrrbrrgbrgrrrb +bgbuwuuwrbrgwgrbrrwurbbbbggbugugbgguwwrrgubgwrbwgbwwgbwgg +bbbrgrbbbrrrgbuwgrwubbugbuwbwrbuuuubwwwbbwbgwb +bwbrrrwbbbrburwwwurgwggwbrwuubwwruurgugwugwgbuwrub +wwuuwubwwgbrgwuuwwbwuruuggbbwwwrgubgrbggburrw +bbugubbrwwgrwurrrubggbrbuwwrgugrburbwbbbwbgggbbbug +uugurgbbwguwwugwbbrbwrubbrrrrugubbwwbuwwgbrgguugrw +rrugbuwgbbwrwbbgguurubrwgwrubuwbbrbburubgwgugu +bgwwwgwrbbwbggburruwbbgwurgrggwuwgbruugwuwguuwbbwb +wubburguuguuuwrbwgwgbggbbgrgbbwuwbwbgbrwggg +bugugbugbbbguwbbubguurrrrbbwgbgwbwrbuwwuwbubrr +brrrrgrwwgbwbgguwwuuubbwuuwguwbbrubwbwggbgrwwrwbgrbwrw +bbuwrwwubgruruuggggrbggrwurruwgwwrurbrbbrugbr +uwwubburrgrbuuwbubrwububgwuwugruubbbgbggbrrur +gwgrrugbwgwwurgugwrrwwruubguwugwwwwuruguruggr +wbburrbuuurrbbbbbubrwwguwbbbwggrbwbwbbbuuuwrgbbgwrrgurgwg +rwgbbwbgugwwuuubwwrgrbgruwwuwrrruwwrrgbrrwwruuwbrwrbu +buwgwrwwrrggguuuwurgrruuwbwruurgrrgugrwbrgrbggruu +gggwurbwbgwwwgwbrrugbbuwrbwwbgrwrwugrruurgwrgrgbwwwguwwr +ggrbwbwuwuubwrwrbwuguwbbwwubbrwuubbwuwurrwugggbu +wuubwgrgrrurrggwruwgrrwwrwugwuubugrwrwwbbub +grwwguubgbugbuuugurbuwguwgwrgbwrgrbbwubbbuwbbwbg +urwgrrbbbrgurgrwbrwruubwrrrrrbuuwrgrrwgugwgb +wgbubbbgrwrgrrrububurgburwwgbwbrbwrurrgbrrbwwwbuub +wgwrgbrburggubrgrruburbbwwgrrugugwubuuururbwubw +wuwugrwwwwubguuuurbggburwguruwrrwubbrururwbu +bgguuguwbgurwgwwggrwrwggwwggwbrggburrwbwwguwwugrguuw +bwbrubuwrrrrwgwrurgrbuwgrubggugbrwrrrruruwruwrugrbbuuuwgubg +wrbrwgbwgrbrrubrrruguwwggwwwgwruggrbubbruwuwubrrwwgugbgu +bwbuugbgwwgbbuggrgrrubbbbubuwwgwbbuugwwwuuugrgwrb +rwuugubbrrbgugbbrggrwwugggrgwgbggwbrrwguubbbgguwuggwu +wgwrrrwrrwruurbwgurruwbrrrrgbgguurrgbbwbbbrruuru +ubuwbbwugwrgwbrbwgrggbubbugubbguguwwrgrbbbgbwuubru +gwrwgbrgubwwbwwgrrrbggbugwrrruwrbrrwwwwwuburuww +urrrwbwgrrggwbbwgrubrrbgubrrbguwuburuwrbwwwwrbburrbwrrrugg +ggburbrbwbrurgbuurgbbgbbugguguwwgubwgrwrbgwuururuu +rwbrrrwggrwrbwbuuuwrugugbuurbruuugubgrbrbrggrgurgrgbwuwr +gwugbwgggbwgwbrwbuurrwggwguwbwrwwwrgbwbwguuguwwrwgrguwgu +bburrugrbwuurrrwwgruugubuugbbwbrgrgbbwbwubwrbrbggurgugw +uuwbgubbuwrurrwburgwubbgrurwbggbururbuwgubwuw +bwbuwrwwwgwwruwwggbgrugrruubwruwgrrwburggugugwb +grguurbbrgubbubgbggggwwubbwubgrgrbbguuugbuugbguwrbwrwbwg +bwrrbggrrwwbbbbbrruugrwuwbrggugwrrrubbwrbrguwgwwgrggwb +wgbbuugrubrrgbwbuwgbububgwrgubggbbwwwbwbugbrugrruuurrw +wuwrbggrrggrbubbbwubguwubwurwugwgbgrubwbbgw +bbwbrgwbbgugwwbrrrwbbbgwbrbgrbgwgwgrgwguburbw +bbrrwuwrgrbwgurgggurbbrbwbwruwggruuuwbuggrbwuu +rburwgbgwbrbbbwbbwrrwuwrbubgubwuwbubbuurug +wbbuggggubwbugugbbbrrbbguwuuwbbwurruwbbugbrrwg +gguuggubuugwwubgrurbbrrrbbggwbwrubwwrgrurw +rwwgrgrruuggwgwggwbgburrwbuuurrgbggbwbgrruu +brrgurbwrugbbwuwgwuuwgruwwurrrbubwbrgwurwugbgggwbburbrruuu +wrubbgrurrguurbgrgugbuwgbgwwgubwguuwwbbugbrruwgwgugwwgrugu +gwwbrbgrrbgwwubwruguugguubrurburrwbuubruuw +wurwwrrwbrwrwguwrubrbwrwugubguwrubgurubrwrbuugrwwuwwu +wuwuggrbwubwwrwrrwggbbwwwuwgrwgrbwwrwwbugbwuwgurbgurugrurw +brgggrgrbgruuwuugguwugrrwgbrwwgrruwggbgggwwrrwbuuwrgwugb +bwbwwbbgbubwggburrwuwuubrbgrurugbbgrrruwrwrgu +ggrwwwwrgbgbbbgrubuwwugguguubuubbbubrbuuwbwrbrgwrw +uugbbrbwbgbbbwurbgwugrwrbwrbwwuwwbrguggwgrrrggwuguggrrgrwg +rgggrbbrbrgubrbggrwuwbwuwubwwuuwuwuugbrgwu +wbgurgrbrwubwurbgwwgbrwgbwbgbbbwwgrbgwrwbrbwwwrgbrrbwbgwr +wbwgbgurwbuurruuwuuurrwwwwugwgururuwwbrrurwuu +bwurgurubbbwgbbwgrguwwwbubggbggugrurbwbwrwbrruwugubbuw +gburubbrrgwrwgwgrrgrgguwwgwwbwgrgggurubggbbwbuwgwwrrrwwru +brbuggguwuruuwgrgwwrgbbubuwgbwwwurgwbugurrwwrugrg +gwwgbbwbbrugrgugrwrwgwrburgruwuwuwwbwgrbguwuburrwbgruwggwb +bbgbgggwwubwbwgrruwwrwgwgwuwgggrgurgbggwrbggwwrubbbu +gwbruwrrrguwwbwbrwwguubburgruggwggbgubrurbrg +ugrgrgbwurwwrwurbggwubbggwuburrrwwgrbbgwrgwbur +gwgrgbrrbrrbwgwwrwggbbrbwgbrbbgbuwbrbbgwbgrggrgwuu +bwbugrbgbbbruwgbwbwurbbgrbgrugguwrbwgbwwwuggbwrrwwwgrgbwrbu +wgrgugwgbrruggwbrwbwurubgurrwgwubgbrgurgruburgg +gguubbrbwbubguubuguwrwbgrwgwuurrgbrrwbgwbrwbu +rbbrggugrubbuuruwrgbbgurbbwgugwuubwrgugubgwgugrw +wwbbwwubwwbrugurgrbgruwrwwbgurgbguwrguuwwbgugrrgwgwugguu +bbuwugrbbruuggrwwgrwbbgbwbwguguwurbbggubbr +wgwuwwwbwgrguburbgbrwwbbgbbgugwbubbggbbuuwbgbgwbburwrg +rwgrwgbbwrrrruwwuwggugbrgwruwuubbuwbbggwuugbruugbgbwwggg +wwrwgwwwrgrugwgrwbrbrguwgubrrrguuugubuuuwuubgw +bbuwgrrbwrwwwwgbgwbrrrbrrbgwuwrgwuwwbuggbwrwurwgwurwrwwu +grgrgrguugruggbgbbubwrgbbbruurwgruwrwguguburrbbbuuwgwuggug +rrbugrbuwrurbwugwuwgwuwbbwbugrrbgbuwrrugwruuwbbbugwwu +bwwgurwwbubbwwuuwgrgrgwuuggwbbrrbgwgrubrgbwrggw +rwwwwubuuuwububbgurbwrrbguggwgugwubgugwgggwwubgwbruubbwuur +urbrrbwuuwuubgbbwbrruwbbbgwgbbuuururuwbrwgwbr +wbwbbugggwubugrruugbbggugwwuwbwubrbbwbgwur +wgwuwwbrwwugwgubrrwgbbgbbrggwurubbruwwgwugwguurrggrwgb +ubbgwrbwuuggwwgrugugurwwbbwgrgwugbbrbuubugugbbrrbgbbggg +bwbruuwuwbbwbubuwrgwuurugugbwwgrwrbwbrwgggrr +wwruwurbwrwwgurgwuwbrugrgrggrguwuwurburgrwbbuwugrwbwrw +wbrbugbbuwgrgrgrbburgrwggurrbuwrrugurggwbubur +urwrubgbuuubrubgbrrbbbwwrbbuububrwwugurrbrgrwgwbrwuugbuw +bgggbwrgggurbwrggugrrbguurgbgurruuuruuuruwbrgbbrrwgw +bruwrrrgbuubbuggrwuwurrrrrrubbbgruruwgbruwrgbrurburwgurw +rgwwguugbrbrrburggwwuuruurbbgubrwbwgugbwbbggggrwwrbr +bugwburbgrwrugrrugwuwrgububwgrugbwubgrrrugrguubbgrub +grrrburrurwgbuurrrugrbggwurgrwgbwwwururuwbrgbgg +ugubwwubrwwbrrwggruwrggwwrrwrwwgbbwgwgwwbub +bbuwuruwwrbgurwgbrgurbrbrrrurgurwgrbruubgbgbggbw +rubrgwbgwurbbgwurwgrgrugwwgurwubgugggurrgwrbguurrbuugu +ruwgbrbrbwruwrwbbbwwuwurguuuwuwgbrwrrrbburbuugubgwurugwbwr +ururguggubgwbwbgbrugrrrwgubuugbwrubugrbgrwguwuuuwrwrb +gubrbgwgwrgwbugwwrurwrwuggburbwbugrurugbbgw +bburugggrrbwuggwurbuwbgwguwrrbubwggrubggwwwuuu +bwuugwrgurrugbwuggwrgwrbwwugwgwurwbrwwwrgubgrgbgwrwb +rwrugrugrwrwugrrgbgwbggbrbbwwbuugbgwwrrgggggubrr +wurwrbwbbubuguuugwruwubggrwgugwuubgwbuugbbbrwwg +bwbwgbbrrwrbgwruguugwrwgbgbubguwwgwrbwruugwbrggrggg +gwwbbbbguubggbwrwrbbgbwwbgbwbrrgrgbgbbwbbb +wrwwwggbubbrrwbwwburbugbwbwrwgggubbgguwrwuwbuwbguuugwb +grwwubuwwbbubgwwgbgrrurrrruruggrbbrugubrrrugwbuurrrrw +gwrwgwwuwwbrubbuwgrrubbugugwruuwgbwrwrwwgurbwrugb +wbuwbrbuururbwrrgurbguwrgrgrbbubgrbuuubrugw +gubwrrbrwrbgbbgwguwbbgbwrrbubrbggrwrrugbbuubbrgbgggu +bbrwbbuuwbgbrbuuruwwbburbrbrgrrugbgbrwuuggwububru +bbgwwugwurbgwwuurbgbrbrgrrbgubwwggwburrgwgrbbbrrg +rurgbgguggugrwbrwuruuwurubbgwwwurggwwwwwbugbuuwwb +rgrbugrbuwbwbbbuuggwurubugrwrrurbuuuugwwuwr +brbbrgwrrbrbgubrubuuwugrbrrugruurbwbwgwgbugrrwwgw +uggrwrurruwwwrbururwrwwruuugruwrrrubrrgbrbugwuww +rwgwbwwugrwbugrwwwrwbgrrwwgwrwguwrrurbwbrgbrgw +uruubbbgwrwwrbgugbwwbbuuguuwurrwuurburgggu +ubgurrrbbbruugwurggrrwubwwrggrbwrbrubbrwgwbgru +uurbbbgwubbbrbubrubuubbuwruwwwbuwgbbggbbuwrrrrwrgu +gbgrrwguggbrgbwgububruubbgwgrggubrbwgwbuwgrwrb +buwrgbggbwgrbgbguwgbbgrgwbubwgrbrrgwruwgwwggrrbburu +ggbbbrrgggrgguwbwuruubwgbwrggbuguggburrbuwuwbgwbbguu +bwbwgrgwgwwuwrgrgbbguurbbrwgwgurbrrbgubguubgugrguwguu +bwbwbwuwrbbrrurbrgggrgrbrruuuruwggwggubrugubwwbruwrgrwbbbguw +bwrwugbbwuggwrrgwurwrgwrggbbbbugubgwugbrwwbwr +wrbugwuwrwbgbrrburugrbrguwbwbrgwbwurrwuwbgbwgg +bruggwrwruwugbbuwuurbbwugurrrbuwggbuggwrwubrubgggugwggb +bbbrbrbbguwbgggrwbrggrwbrgwrubbrgggwwgrgbggwgrgbgww +bwbbbgggubuwgrwwbrwrwwwwwrwgbgwuggrrurgrgwubwuwruu +rwrrwbwrbrwgggrggrrbgubgguuwugubwggwrgbgbwbgbuuwrgg +wrgrrguggrrbwbgguggguwgwbbwgrwuwwuwuwwbwubgwrguuwuggbbwg +bbuuuubbwuguwwbbubwbbwbwwggwgbbbubuwrruruggruwww +wbwuwwwbrrgbggubrurbubuububwwgbbrwrwwgwbgrwggw +uuubuurwubgbwwrrurbbrguuuuuuubuwrbwbbwwrrurguruwu +wbugrggrwbgbwgrgrburuguwruuubbbgbbbgbwugbwur +gugguuugbguubgbwgrubuwgwwggwgwbggbrwwrggrruwurwrwg +uwuubgggbubbrrbwbbbrwwrbrgwrwbgwbrguwgrgwbwgrgrbgugu +wbbwgruwrgurbbwwrgwbrguurugbrwwrbuwwbrbrrgbwrgr +bwbuggwgwruuwgrrubbgggbwbbwbwbbubugugwrbrbguguggrgr +rgbrguuuwrrgwbbrwgrwbugwbubwwwbuuuugwrwurgrwwrrbruwugw +uruwwubrgwwrwrwrgugrbrrguugruuwbwbgrrwgwwrbw +gwugbruubbbrggwubbggurwuuugugubrggbgugggwbrgw +bbrubbgrwuguugggubbbrgbuwwbbuguuwggbgrgbgrbuurggburw +urrggwwbbggubrugrgwuggbbguubwrbuwbwwrbugrwgwbgwbwrrub +rruwrgbwwwbrwbrbubgwbbubuuuugbbgrbgbwbrwgbbrrrgrwrggg +bgwbubwbbbbggrbbuuurrgbrrwbbbugwuuwbbggrubwggbbwrgbrwug +gugurrwrwgwwubgwrrbgubguwbgbubwrbwubguuubbuwubgbgbwburw +uguwbbugurbuwuwrgbgbwggrbubwwrruwwubbgguuguugrbgburgu +rbbgubwwrbbrgwbgrbwrggwuwrgbuubgbuwguuwbubbgubgguurwgw +wwwwubrwubbwgurrgbwbwubrbburgrgbgggbwubbgwrgbwubwbrugbbuw +urbrrbbwwrrrubwbwggbburrwuwbbbrbugugwgwgbgwrugrwrrrwwgwgr +wgwgrrrbgrguguurgwwrbbbrubuwgwrbbrurwurugg +bgwubwbrbrgwbbwurbuggrwbgrwubuuguwrgrbwbrbguubrbggr +uuuwuubuggbgbwggubrwuwgrgwuuggwbuwguruuuubrb +wruwwuwuugwugrugbrgrwgbgggrwuwgguruwrrburwbgbbwwbw +wgbrbrwwwgwuuuggwuguurbwuubwwbbrbbrwgbrgwgugbwuwg +wbwubrgbrgrwgubwrrwwwgrrbrgrwbrbbgbugwgggwgwg +ruugwbburgrrbbrwwrrrubwgrbbbwbwggrbuuubwrbbwgbwubuwbwbgwbg +wubgrrrrrrguwuruuwubbbwwrbrruwrwgrbgwbrwubrrw +wuuuwgbgrrwuruuuguubgbbubuubbbugbrwuuuguuwgw +guurggruggggwgbbgrrbbgrwrgbrurubbwbbuwbwugrwb +rgrgubbbgwgwwgwrwggwrgwurwugwbbgwbgbrwrguubbbr +rbrrbuggwggrrgurgguurrgruwrbbrrwuugruuwwggwuww +uwwwrgggubwgrwbrbbbwbwbrbwbrwuuwwbrrwuwggwg +gwbrruugwwbugrugwuwwrbrwwwwbwwbuubguuggwrwrwbbrurbrgur +gruuurrwrbwrwwubrbrrgbbuuwgwwbbrbbbbugurugggwguwrbrgrrrrgg +grurwwubrbgrbubbgwruuuuuguurubrbwwuggwrwggrrbw +rrwbuwuwrurbuwgruwwgbuwwubggwbrbrrubrgggbrru +gbubbuggguubgrwwwburbbrwuwbbrgguwguubwbrrrgbgwwbbu +uggwbwugbugwrgwwrgrrwwbgwggbbwgrbbbrbuuuwr +uwrwgurgwbbuwbrbgwruwburugubgubgrwuwbwrruurgbrurr +buwubgurrrbruggbrrrwrbrbrbgrbwwgwrbwrgbwguwrr +rrrggrguurururrwbwrurwrgwurgwwuubuuwbgugwrw +uggruwgwggggwurbwggbbwwbwbgwgubbbwwwbbbuwwgr +gbwrugrgwubrgwbuwrruuwbbwbbgrrrgugggubguugbbb +rggbwgwwurwurrrbrugrubugbrwgrbrgbuuuuugwgwwbgb +grwrgubwrrrguwubwggwgwbugrrbugrrwrgrbbggwwu +rrrgbuwwgugbugbbguwubwrwrbrguugrbwgbwwgggrbwwwugw +rbgbuwgrwubbrrbwbbrwrrgbbrrububbbgrguwrubwrbbgrwggwr +wrwwrgubguwbbubguwwubrururwwwbgbrwrbbrwbwbbbbbbu +ruuuwwgurwbrwwggrwguggugubbwrbbruuubwgrgub +brgrwbggguwbwrwwugwuwwrgrwguuruurwgwuggurguuugrwbuwbrbw +bwbuubbbbgwbgubuuwgrbgggrbuwrwwuwrggugrgbwwrrrbrrrruub +gbrrgbgurugrwrgurwrggbgguuugbruubuwwbrgwuwuggbbbwbwgburu +wrurrruuwuuugbuwgbrbubuwugwrwrrbbguggwbuwbuw +buwuwrrrrubwrgbbwbgrbgbbrguwrwgrrrubwuuugbbggwurugb +rrwwbwwbbwwggrwgugrwrwrggrrgbubbrurgruggubrwwgrgbrbgr +grggwbwrgbbbgrbgurbubgwrbrrgubuwuwburuwburggbguwgrwgrrrrwu +wrwgggwgrrwbbruguwrbbrwgrurrgwgrbrrrrbwrrwbggrrrb +buwrbwugrgwwwwbbrwbuubuugbbrwwrgwwrgwuwgggurrbbwruru +wwwrbwrrrwbbwbwbwuubwwbwuggubgbwruwuwururwbrubg +bgbwrugwbguwurrbgwbwwbrgrurwbbbwuubgwgugbubrrurwgwwu +brrbbrwgwwbwbbggwgubwbwwrbrbruwruruwgwrugbrgwubgggr +ggrugwbbburwbbbbrbrrbrrggbuggwurwwbbrgbuwgbuug +bbburbuurbugbwrwubwgurwwrrbrrbbburbwbwuggugbuuwruururbbwwu +ubwuugbuuwbggrgwurubbgbwwwrbbguwrgrbbrggbruuguwwbbb +wruuwgubgbgurrwwguggrwubuwbbgbuwbwgrggwubwuwrgbwrgg +grurrbwubwbrwuugbugbwuurbrruuugwrwrubrwbgw +gwuwubwrrwruwbrwwruguggrgrbggwwbbgrwrwgbgbwbgbguw +wbbwgwrggubuurwwgbgwrbbwrrubgrrwrbrugrwwwu +wwwburggwuugwrwrbbgwrwbgrwurwrbbguwrwburggw +wrbwggbrrburgbubwuwguggguburbuburugrgwgbwwbrgbuwwrurguubww +ubbwuwruurwwurwuuuurubbwwrgwbubwgruwbwwbggbubgg +bwbbwbgwwrruuubbguuuwrrbuuugbbwwbrwwrrurwrguwrbbgurgrw +rgwgwgurwbwubwurrwrrggbwwwwgggbguguugrwbugrgbwwrrguuuu +wgbbrwguwgwbbubrbuurbgurgbuwbggrwuwgugwuug +rgrbuwbggubuwgwbgubwurggurbwgrgrwbrrrbrbrrwbbrugrwburgrru +gbrbbbwrgbbwguwwurwwbbwbgbgrrrgrwguruwbuugubbubwggggrur +wgbrgrwgwgrrbbrbrruurwbgbrgwbwwwuuuururguuwbr +wruwgwgrrrrurgwurrbgbbbrbuurrgbubgububrwrw +bgrbgbugbrgrrbrgbrwuurwggugbbbwrbggwguubww +gurguurbbbrggbrgurgrubburbgwbwrrurbbuwuuwrrwgwbbugburwu +guggrrbgbrubbrwgbrwbbwgrwrugrugggubuguwuwrwu +wuwwbgwwrwbrwrwwwgugwrwgrubbrburugrgrrwgggwrburbr +wgbbuwrbrbrrwuuurrbwgrwwwbruwggugwrrwgubbugugurrurgurwgug +gbugwrgwgrgrbgubwbrwugbrwugrurburrwgbwrgbbgbrggrb +gubuurbwubrubburrrbrrubrwrrrrgubwwwwbbwrubr +wwrubrgbgbuuwbwgrbbwuburgbwrwuwwgubgbugwgwwrrgbw +rubrbrbgbbrwrgwgbrrrgubwwrrrbrggbruwrgubgbgrbugrgug +guwwuwbgugwguwbwguuuwrrbbrggwrrubrbrgrrurw +ugbbugwuuuwugruggbwbwbrwubbgbgwbrbgwugwbgubgubbrrub +rguuuwwgwwruwbugrugbuuruwggurbbggrrwbwgwwgruub +bwbrubwrgugrrwbwbrgbwwugbuggbbubbbrrbugggwrugubw +rugbuurrbugbrbrwwwrgwgwbrggwrgwgbgguubrrubwggb +bwburuwrgrwrbrbgurwruguwbbgrrrgwgwgbgruugwwugrbgurgubbrwug +brgggubburwgguubuuruwgbbuwbwgrbrrwrguuwbgrgrguwurg +rubgbwuwgugrbugrbrbugrgwuwguwbbwurwruwgwuwbugrbwb +wgrrwwwrgrwubggurguwgwbbwgrbubruwwwbgwbubrwwr +bwbuwrwbgrwburbbbuuwugwguwwuuubbwgwguuuwurgrbburubgwgrwuubg +bwbrggruuguugwrwbwuwuubuugubrurwwrrwrwbwb +rrurrgrwbguuuurbbrrguubbgwggurwurrgubuuwggwuurrgwrbbwuurb +wbruwurgugbgbrbgbuuuwrbbwgrrbwwgwrguurrurbbbb +ruggwwrbwrwwwuwgggwgwggrubwuggrrbwuwbggbbugwbgwwwgwbr +bruwgrbrrbggurwuuurwubbgbwgugwgburwgbbbrrbwbrwrbwgburbub +gwwgugbgwuwbrubruuwwbwbbgbuuguuugbrrgrrbgwrrrw +bgbuggbgrbgbgrbrbbggwwwbgrrgbbrwubwgwbbrgwwwgwrurwgrb +bwubuggwrbwbbubwbbbbbbbwwugbgubbbuwrurwwbrrwwuggu +wbbrrwgwrugbbgubggrbwwuuubwgbgggurbgggbwrgurru +gbwuggrruguurubwugrurgrugwbgurggrrrgbgrrbgruwbggbguggbbrrb +wrggruguwrugugbwbuugububwurugrwbggguggwuggggwrrgbuuguubu +wrbbuwbrgbwuurgwrgwbrurrrbwubrrrrruwurwwgrubb +ubrbrguuuuggbrgguggrgbbwbbwugggrwbwrwbwurbguuubgbrwbww +wruwrgrbubbbrbbuuuuwgbgwbuwruugubuuwurrrbggwugwruubwbwwur +bguwrgwugrrbbubwggruuwrbgugrbwubbgwwwbgwrrrwuwburgugruug +ugwwuwubruuugwbbbwurgbbwubgbggbwrwbrbgrbrrgwrgbgg +rgrggwwgurbuggwrbgrwubgugurrwbguugbrrgrbgbgbruuubuur +bwbuwbbrwrgurgwggbburbwwgguugrgururugrbwuwuubguguug +rgwbgbbuurbwwwuuugwrrguuubuwbuguurwuuwguwugrwrwrgwugbrwbu +burugguruuuwwwurrgbwbbbggwwgbguurgwbbrwwwrubwbwrrrurrrg +gbugruwggbuuwbwgubwugrgruwubwuuwbgrbwbrrubbbrwwr +rbbgrugrruuwuggwwbbgubbrrrwrwrwuuwrbwwggwrbugwrurrwbw +brbwbwwwuwbwbgrrbruwubwbbrwbguuwrrwrwrwrggwwu +gbwwwgbgbrrbubrwgwwuuguuurwbburuuurrbuggbgugrrwggbrrwrrwww +rggruugbwgbbrgugubgwbbuwubgrwbbgguwbbburrwbbgurr +grbruwwwuwguwwwgrwwbbbgbrwggrburguggrwwbwrwbruggwu +bbrbwuguubugbuuwgguuubggwuubuwbbbrburbubbbrbuuubgbrbrbu +wrbrwgugrwgrrugrbbubbbwgugugrruburwwuwuwrwrgwwrbbb +rwubgubrrwugbgbgwwguugbwrgggruuurgrwbwrgrwgbgrrrbr +bwbburrurwrggwrrbrbrgwruurwububbwbbruuuwbuwuwbugwguwrguwb +guwbbgrbwugrwrbbgbbbruguwgubrgugrbwwbwwbubrrrug +wuwrrrgguugwugwgbuwgbgwuurgburrbwugwgbuwbggugrugw +bwbwrwbgubugbrubrgrbrgubbuwurwuwwuwrbbugrgwwbbubwbguurwbbwu +wgggbwuuwbuwrgbbbuwuwuuguwrguwgbwuugrubgwwwwuurubrburg +bwbwgbrrwbuburwubrbwgrbbrgurrrrbwbgguwrggbbgbgwrbrgwrrwww +rbwrrbuururwbuubuwbwggbbugbrbrgwrgurwgbubrurbrwwgrbgrrbr +gbuwbwuwubbrugbrwubuwwwrgurwwbwbwwguwuwgbbwrwgwrgbg +rbbgwbuwrbwgbububurwrbggruruwgubguwurbrgrwbwggbuugr +bgwwrbuuwbwbgwbgubbgwguurrwggrggubrrwwwwrwrgurugwrbwuuw +wggggrrggrwrwgrbggwrggrgwbbbguuubgrgbugbbburburuub +rubgbrruubwbwwgrgbrubbrrrwrubugwubbwrbrwuubggggrwbwuw +bbuubgrburgbgrrbrgrbwrubggggugwbgbggggrrbuubwwwbrburuubrrw +bubggbbgrwgwggububugbrurruwurwrgbwbrwrrrwr +rwrwuguwwgugubbggwugurwugbgubgwbwurbgwgburg +ugwbgbubrburggwwgwgrrubbwrwwurrwgrugwwugbrrrgubwbubu +urrgubuubbgrbggwwgbrrburrwwgwurwgrbubbwgubggwwgrgug +bwubwwbbbbuwggurrwgrgbbuwruwgwurggrbugrrgrbrwbbwrrggwuuuwr +bwbrrurgurbrurugbwrrbwbwwubgbbuwrrggwwrrwrrrruwww +urrbubgwwbubbugburugrwgbuwbrgwbwbgbgbwgrbgubuu +ggwrrgrwgugrwrbggurwbgrbbwwgguuurwbbwgbwwwugb +rrrwurgrrrgbbuwrrrbwgguruuwrwwbuurgrbugrbrurbbwrbbrrww +uubwwrrwwbrugwrwuugguubggwrggbbburgggruwbugrg +ubrrburuwgwrgburggwubggrurbrwuwwuuwgbgrrgugubbbwuuubug +gruuruubrbwrbgbwuggwwgwwuwrgrugwbuwbguwrurruwurbbwrrbr +gbgurwrbrrburrbggugwrbwwgruuruwubrwggurgrrbrb +bwbwwwwbugwugwbgwubrgruuugugggrugwgbgrbwgugg +uuurbwgrrrwgrgbgbrugugwubbwuuuugwrrwrwrrwbrrbwuwbbbug +rwgbbwrbggubgurbgbbgguburbgbwbuuwwgbbwrbgwrgwuu +rbwgrbwwgugbrwwgbgrwugubwrwgrgwuggwrbbgbguuw +brggggbwgwwbrbbbruggruggrwgubrbrrruggwwuuwbrrrgwuurwwrrbbb +grrubwgbwgbuuwwgurgrwwwburbwrbbubrruwwgbwgrgbbgrgrwguggu +bbuwwggrrrwbbuwwwgrwrwgrrrbgwurgrwrbgburbruugrrrwww +gbubuwrwubrgbwgugwgrgrgbbrburuwgrwguwrguwbuuuggrugrugggwbg +bwrggbrbugbugbwbbbguwbruwwuwrrwbugbuwuubgrbwubbwg +ububugrrrgbgwuwrubuuwwuwggubuwugguwwurwbwwrruggrw +brbbruguwwwurwrbbrrbrgrrrbwgrwrbgurbbbggrrwgugwggu +rrwgbwrugwwgbubrgburwgbbrbggubrwugbgwgrubuuuwwuurrugw +wugugbgwrwwwgburbrwgrrgwbrwrguwugrwgwbwwggggwuwb +rbuwurbwwwuwruwrrgwbguwwgubbwrubwwubbbguwgubwbr +bwbugguwurrwbgggguurbuguggbgwgwgurrwgubbwurgruwr +ubruwwugubgburrurrwrbgubwgwgurwugbrgggbrrbbbuubwwwbw +gwwbuuwbgurubgbgruuwbuggrrruguwwugrgrgbuwbggugrgbwrbbwuuu +brrbwuuubrgwwrgbrubbrwbbbrwuwbbrrrbrwbrrbuwwwrrbwugwuwrrbg +ubgrbgbgbubgwbwwugubwuubbbbrbrururgguwwgwwgwwbwwgrgbwg +ugbgguurubgwwrbwwwgbbbuurbwguurgguuwbwurbrbgruuwrrwwwbbg +rgwbrbrwgwgwbrwbbuggugbwgguuwggwwwurbbwuguwuuuru +gugrbbbrggwbwwbbggbrwggwuuwrwrgrrbbwbwwwgwrrgurb +bwbrwwwgwgggguguurrbuuwrrwrwwrwrwbggrwrwgguggbwuwwuu +uwbwwgbbgrgwgwgbbubruurgbwwbwbwuuwugggguuuubuubrwrwb +gwwggwbuugwurwwrgrbwrwwgggrgbwbbguwuggwrrubgrrbgwrgbwggrg +urrrggurururrwuuguguurwbuubrrbwgwgbuwbgrgbbwurgb +bbrguuwwwrggrgrwurgurbrurugbgbbwbrbuubbwwbggrbw +brgbwwrguwwbrbwuuwwwgrbgbubwwguuubbrrrgrbwgrbbwbruubb +wburugguubrbwwwgwrguubgbuubrwuwwwugrwwbubbrwwugubwwwu +rbgrbrubrbugwubrbrwubrgbrggggbrggrgrwuubwuwbrruggrub +uwbwuugbubrwubburbuuuwwwubgrbrbwurugwbrggwbbr +ugbbgbwwwuuwrbwuwrubuuubwgggggubbwrgwbgurbrrgwuugbubrgwg +bwbuuguggugwgburbgrruubwbbbgwwuubrrbbgrggwwggg +wrwggbwuububgbrgugrgbrwbgbrrurggrurggbubgrbrruggrg +bugrgururwrugbwbuuubrbugrwrbwrbruurgwgbbgg +rrurggwburrwrwgbrrgrrbggwgbgwrbrubgbrgrrugbuw +bbrbbrbbwwbbgbrgrwgrbwgwggbbugubwguuubgbrbuwbubggugw +bwwrbbubwwgwwwuuwbbuuwugbgbburbbrbbwrgbbbggwrububru +bwbrubbwgugruuwwrrggubwwwwgwbuurguwgbrrw +rgbggruuugurbwguwbwbugrbbwbrrubrgbrrbggbrub +wbrgwburuubwwbwgbbuggubbbrwrbgrgurwubrwbgwggubgg +gwwburbwrrrrugrgrwguuggrrurgbgrugurwbgbggwgwbgbwrr +ubgbrgwubwgbwwrwwbwrwgubburgwwwrgwggrwgwrwbugrrrb +bwbuguubwurgwgbgwbrwggrgbgwbguuwwuuwububuwbgbbbuuguuwrubwwr +bwburwbrbrrburrrgwwwggwuguurugwgbrgbbrggbrrwr +ugbgugrrwurruburwwbgubrwburwgggbrguwguwurwrrbwrur +uwbburburugrgbburgugrrrubuururrgrurwubuwugwwrbwrwuwbg +uurgbubrwrwrguwwguuugbrwbwbbwwubrgbwuwbgrbgwb +ugbrbbguguwbrrurgrrrrubgrgwrguguubrbbbrurubgwugggbuwubbub +uwbwugwbwrugrurrbugrrrrgwuwrrrubbuubbwubbbbuuwrwwggb +wuubggrrbgrgubrururbgugwrgubrburururbwuburbwgwgruubwguuwbw +uwugwwwbwgrurrwwwuwububrruuuubwrwgbrbbuwububgwwb +uwggbggwwbbugbguggubbgbugubwgrruurrgrrwbrbubgugrb +bwbwrrbbrbgbggurburwgwrwwugruwguwrruurbrbwuuburu +brwwwwurrbuburrwgwwbrbguburggbbguggwrwwubwbbbwww +rbrurbrugrgwwgguwbrburrwwrbuwrwbbgrwbgrwurrugbwrbuugwwwww +wwwwrwuwwbwbwrgbrbrbubuwbbwrrrwwwwbwgbruwwbrb +ubgbguwrbbwuwugwrurwubrurgwwwbrgurubbuwgrrwburbgbugbgbwrg +bwbbuwwwgwrrwurrbwburrrgbgrgrubbrubbrwbbwurggbrw +urbgggbwwbwbgbguwwuubrgburgwuwuuwugwgrrbwrgrrbwuggrrrugr +bwbuwugbbugbgggugurwgwbbwrrwbgbrbwrwwrwwubgwbrw +gwwrrrbuwrwbwuguubwrbururrbgbwgrwgggwwuruuurruwwbuwuww +uruuwrrbbwbgburggwuubrwgguubrgbrbbrwrrwgbrbwguubguwgbb +uwubgguuuuugubuugwwrwbrbwguguwwgrrrrburbugggrbwbrrrwgrbwg +ubwugrugggrurruubgwwgwrrgguuuwgubggwrwwuwwruwggrbb +brwugbguggubgbrbbgrbwbbwwgbubgbggggbggbwubwrwbwurgw +bwgbwbwbwgwwgbrgwubwgrwgwugubbbgubburwrwuwwrw +wrbwgbbwggrubrugguwurruwbbrgrbrgruuuwubwwubrubwu +rgwwugwbubwuwbbgbubbwbbuwwwbwwrurbbwubuwrwwwbgwu +brbwwbbuuwbbwrwbruggwrgrwburbbwrubbbwbggrwrg +rwgwbbwbrrwwurgugggwwbgburrruuwrbbwubgbugwwgwuwgbwwgw +bwbwurubwwbwbubwwbwgwwrurbrubrgrgwrbrbrgwgwubbubuwrwwwuwbgwg +wbbbwwururbgbrrbuuwbuwrwuuwurbwugggurwgbwbgwb +urwwugbruuubrrwuggrburwwwbgwuuwuwwbbwurrrwrbgwgb +gggbwgbrwruuuuwrbubuugugggugrrruruubuwbgugrrr +bbrrbwrwrbubgbgwwuwrrwrbggbrgwurbgrrrbrgbbug +gbwbwuruwwwugwwguwgggggrgugwwugrbgugubggububbwruruggugwr +ugwububbbwwbwurrwwgbwwrgbubrrbubwwgugrgwwgrurwbbbbubwuww diff --git a/_freeze/2024/R/day19/execute-results/html.json b/_freeze/2024/R/day19/execute-results/html.json new file mode 100644 index 0000000..14e0d77 --- /dev/null +++ b/_freeze/2024/R/day19/execute-results/html.json @@ -0,0 +1,15 @@ +{ + "hash": "8e7448dadefb57913685b2353c855293", + "result": { + "engine": "knitr", + "markdown": "---\ntitle: \"Day 19\"\ndate: 2024-12-19\nauthor:\n name: https://adventofcode.com/2024/day/19\n url: https://adventofcode.com/2024/day/19\n---\n\n\n\n\n## Setup\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Libraries\nlibrary(tidyverse)\n\n# Read input from file\navailable <- read_lines(\"../input/day19.txt\", n_max = 1) |> str_split_1(\", \")\ndesired <- read_lines(\"../input/day19.txt\", skip = 2)\n```\n:::\n\n\n\n\n## Part 1\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n# Convert all possible available patterns into a regex string\nregex <- str_c(\"^(\", str_c(available, collapse = \"|\"), \")+$\")\n\n# Test each desired pattern for a regex match and count the number of matches\ndesired |> \n str_detect(regex) |> \n sum()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 363\n```\n\n\n:::\n:::\n", + "supporting": [], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": {}, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/docs/2022/R/day01.html b/docs/2022/R/day01.html index 5c9e153..3446083 100644 --- a/docs/2022/R/day01.html +++ b/docs/2022/R/day01.html @@ -67,7 +67,7 @@ - + @@ -251,6 +251,12 @@

Day 1

Day 18 + + @@ -877,8 +883,8 @@

Part 2

diff --git a/docs/2024/R/day19.html b/docs/2024/R/day19.html new file mode 100644 index 0000000..1becd48 --- /dev/null +++ b/docs/2024/R/day19.html @@ -0,0 +1,878 @@ + + + + + + + + + + + +Day 19 – Advent of Code: Worked Solutions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + +
+ +
+
+

Day 19

+

Advent of Code: Worked Solutions

+
+ + + +
+ +
+
About
+ +
+ +
+
Date
+
+

December 19, 2024

+
+
+ + +
+ + + +
+ + +
+

Setup

+
+
# Libraries
+library(tidyverse)
+
+# Read input from file
+available <- read_lines("../input/day19.txt", n_max = 1) |> str_split_1(", ")
+desired   <- read_lines("../input/day19.txt", skip = 2)
+
+
+
+

Part 1

+
+
# Convert all possible available patterns into a regex string
+regex <- str_c("^(", str_c(available, collapse = "|"), ")+$")
+
+# Test each desired pattern for a regex match and count the number of matches
+desired |> 
+  str_detect(regex) |> 
+  sum()
+
+
[1] 363
+
+
+ + +
+ +
+ + +
+ + + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 475252f..24e6443 100644 --- a/docs/index.html +++ b/docs/index.html @@ -7,7 +7,7 @@ - + Advent of Code: Worked Solutions