diff options
-rw-r--r-- | 2022/day05.awk | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/2022/day05.awk b/2022/day05.awk new file mode 100644 index 0000000..599b1a4 --- /dev/null +++ b/2022/day05.awk @@ -0,0 +1,27 @@ +{ + sub("^ ", "[.] "); + gsub(" ", " [.]"); +} +/^\[/ { + for (i = 1; i <= NF; i++) { + x = substr($i, 2, 1); + if (x == ".") continue; + a[i] = a[i] x; + } +} +/^move/ { + count = $2; + from = $4; + to = $6; + for (i = 1; i <= count; i++) { + x = substr(a[from], 1, 1); + a[from] = substr(a[from], 2); + a[to] = x a[to]; + } +} +END { + for (i = 1; a[i]; i++) { + printf substr(a[i], 1, 1); + } + printf "\n"; +} |