Files
adventofcode/2024/bonus/day01/main.tf

29 lines
785 B
HCL

variable "input" {
type = string
}
locals {
cleaned_input = replace(var.input, "/ +/", " ")
lines = split("\n", trim(local.cleaned_input, "\n"))
lines_split = [for line in local.lines : split(" ", line)]
left = [for line in local.lines_split : parseint(line[0], 10)]
right = [for line in local.lines_split : parseint(line[1], 10)]
left_sorted = sort(local.left)
right_sorted = sort(local.right)
diffs = [for i in range(length(local.left_sorted)) : abs(local.left_sorted[i] - local.right_sorted[i])]
counts = { for num in local.right : num => num... }
matching = [for left in local.left : left * try(length(local.counts[left]), 0)]
}
output "part1" {
value = sum(local.diffs)
}
output "part2" {
value = sum(local.matching)
}