Day 8: Matchsticks

Reference

library(tidyverse)

input <- read_lines(file = "inputs/2015/08.txt")

Part One

strings <- tibble(original = input,
                  code     = str_length(string = input),
                  memory   = map_int(.x = input, 
                                     .f = \(string) parse(text = string) |> 
                                         eval() |> 
                                         nchar(type = "bytes"))) |> 
    mutate(diff = code - memory)

strings |>     
    summarise(diff = sum(diff)) |> 
    pull(diff) |> 
    cat()
## 1371

Part One

strings <- strings |> 
    mutate(encoded = stringi::stri_escape_unicode(input),
           encoded_len = str_length(encoded),
           diff2 = encoded_len + 2 - code)

strings |>     
    summarise(diff2 = sum(diff2)) |> 
    pull(diff2) |> 
    cat()
## 2117