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])] } output "part1" { value = sum(local.diffs) }