aboutsummaryrefslogtreecommitdiff
path: root/2023/02/puzzle-2.awk
diff options
context:
space:
mode:
Diffstat (limited to '2023/02/puzzle-2.awk')
-rwxr-xr-x2023/02/puzzle-2.awk31
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
+}