Day 2: I Was Told There Would Be No Math

Reference

library(tidyverse)

input <- read_csv(file = "inputs/2015/02.txt", col_names = "original")

Part One

paper <- input |> 
    separate_wider_delim(cols = original,
                         names = c("l", "w", "h"),
                         delim = "x",
                         cols_remove = FALSE) |> 
    relocate(original, l, w, h) |>
    mutate(across(c(l, w, h), as.integer)) |> 
    mutate(paper_needed = 2L * (l*w + w*h + h*l) + pmin(l*w, w*h, h*l))

total_paper_needed <- sum(paper$paper_needed)
cat("Total paper needed:", total_paper_needed, "sq ft\n")
## Total paper needed: 1606483 sq ft

Part Two

paper <- paper |>
    mutate(ribbon_needed = 2L * (l + w + h - pmax(l, w, h)) + l*w*h)

total_ribbon_needed <- sum(paper$ribbon_needed)
cat("Total ribbon needed:", total_ribbon_needed, "ft\n")
## Total ribbon needed: 3842356 ft