diff options
Diffstat (limited to '2023/02/puzzle-2.awk')
-rwxr-xr-x | 2023/02/puzzle-2.awk | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/2023/02/puzzle-2.awk b/2023/02/puzzle-2.awk new file mode 100755 index 0000000..8c19409 --- /dev/null +++ b/2023/02/puzzle-2.awk @@ -0,0 +1,31 @@ +#!/usr/bin/awk -f + +BEGIN { + FS = "[;:] " +} + +{ + r = 0; g = 0; b = 0 + + for (i = 2; i <= NF; i++) { + split($i, xs, /, /) + for (j in xs) { + split(xs[j], ys, / /) + n = ys[1] + c = ys[2] + + if (c == "red" && n > r) + r = n + else if (c == "green" && n > g) + g = n + else if (c == "blue" && n > b) + b = n + } + } + + sum += r * g * b +} + +END { + print sum +} |