summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-12-05 10:07:05 -0500
committerJune McEnroe <june@causal.agency>2022-12-05 10:07:05 -0500
commit50bb480e3672cb6c32d4b63c7f629b78c558157b (patch)
tree3003e7f15505e7c4ff9035c83af18f24ba43c9c0
parentSolve day 4 part 2 (diff)
downloadaoc-50bb480e3672cb6c32d4b63c7f629b78c558157b.tar.gz
aoc-50bb480e3672cb6c32d4b63c7f629b78c558157b.zip
Solve day 5 part 1
-rw-r--r--2022/day05.awk27
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";
+}