Aloha, crabs can build and drive submarines. They need fuel though.
crab_pos <- readLines(con = "day_seven_one")
crab_pos <- as.integer(unlist(strsplit(crab_pos, split =",")))
Function:
FuelCon <- function(crab_pos) {
align_pos <- min(crab_pos): max(crab_pos)
fuel_sum <- sapply(align_pos, function(x){
diff_pos <- abs(x - crab_pos)
wrong_fuel <- sum(diff_pos)
real_fuel <- sum(sapply(diff_pos[diff_pos > 0], function(y) sum(1 : y)))
list(wrong_fuel, real_fuel)
})
return(fuel_sum)
}
Part 1:
fuel_con <- FuelCon(crab_pos)
(answer <- min(unlist((fuel_con[1, ]))))
## [1] 356958
Part 2:
(answer <- min(unlist((fuel_con[2, ]))))
## [1] 105461913
See you on day 8!