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";
+}
title='2021-09-14 23:20:57 -0400'>2021-09-14Sort by title if authors matchJune McEnroe 2021-09-13Swap-remove tags as they're foundJune McEnroe 2021-09-12Replace htagml regex with strncmpJune McEnroe 2021-09-11Also defer printing comment for lone close-parensJune McEnroe 2021-09-10Publish "git-comment"June McEnroe 2021-09-10Add git comment --pretty optionJune McEnroe 2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe 2021-09-08Up default min-repeat to 30 linesJune McEnroe 2021-09-08Handle dirty lines in git-commentJune McEnroe 2021-09-08Document and install git-commentJune McEnroe 2021-09-08Add repeat and all options to git-commentJune McEnroe 2021-09-08Add group threshold to git-commentJune McEnroe