Files
adventofcode/2024/bonus/day01/main.tf
2024-12-01 18:04:13 +01:00

29 lines
758 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 * length(lookup(local.counts, left, []))]
}
output "part1" {
value = sum(local.diffs)
}
output "part2" {
value = sum(local.matching)
}