From 9e552c9b6ad5da18e264851afbf36e4a0e35156a Mon Sep 17 00:00:00 2001 From: Bert Peters Date: Fri, 20 Dec 2024 20:30:53 +0100 Subject: [PATCH] More inlining --- 2024/bonus/day11/step/main.tf | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/2024/bonus/day11/step/main.tf b/2024/bonus/day11/step/main.tf index 204d670..0aa52c3 100644 --- a/2024/bonus/day11/step/main.tf +++ b/2024/bonus/day11/step/main.tf @@ -3,26 +3,28 @@ variable "prev" { } locals { - not_a_module = { - for num, _ in var.prev : num => ( + by_value = flatten([ + for num, count in var.prev : ( tonumber(num) == 0 - ? [1] + ? [{ number = 1, amount = count }] : ( length(tostring(num)) % 2 == 0 ? [ - tonumber(substr(tostring(num), 0, length(tostring(num)) / 2)), - tonumber(substr(tostring(num), length(tostring(num)) / 2, length(tostring(num)) / 2)), + { + number = tonumber(substr(tostring(num), 0, length(tostring(num)) / 2)), + amount = count + }, + { + number = tonumber(substr(tostring(num), length(tostring(num)) / 2, length(tostring(num)) / 2)), + amount = count, + }, ] - : [num * 2024] + : [{ number = 2024 * num, amount = count }] ) ) - } - by_value = flatten([ - for key, value in local.not_a_module : - [for result in value : { num = result, count = var.prev[key] }] ]) - grouped = { for kv in local.by_value : kv.num => kv.count... } + grouped = { for kv in local.by_value : kv.number => kv.amount... } } output "next" {