diff options
author | Thomas Voss <mail@thomasvoss.com> | 2023-12-02 15:48:50 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2023-12-02 15:48:50 +0100 |
commit | c1875f1bee7c07227942a831e466f2c262339439 (patch) | |
tree | b58ccfb0896125294e6c03eef92be0d300b719a8 /2023/02/puzzle-2.awk | |
parent | 1dbdc87b6365e5ce852de92a3a2e9ae05c5481a0 (diff) |
Add 2023 day 2 solutions
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 +} |