Files
advent_of_code/2024/day_3/uiua
2024-12-03 17:32:11 +01:00
..
2024-12-03 17:32:11 +01:00

part 1

solution

i first solved it this morning using vim, since i had no idea how to use regex in uiua. this is how i did it in vim (with some regex help from (kagi assistant)[https://help.kagi.com/kagi/ai/assistant.html]):

:e "input"
100J                                  # there are few lines, join them all
:%s/\(mul(\d\+,\d\+)\)\|\(.\)/\1/g    # find all mul expressions
:%s/mul(\(\d+\),\(\d+\))/\1*\2+/g     # replace all mul expressions with the operands multiplied together with a + appended
$x                                    # remove last +
:'<,'>s/.*/\=eval(submatch(0))        # evaluate the expression

my uiua solution is very similar