summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-12-06 10:34:43 -0500
committerJune McEnroe <june@causal.agency>2022-12-06 10:34:43 -0500
commitf003d2b372fe01a041399fd16dfc956dda46a273 (patch)
treefb2346b89f0d2d51b9928e73c1a28a54d52f677f
parentSolve day 6 part 1 (diff)
downloadaoc-f003d2b372fe01a041399fd16dfc956dda46a273.tar.gz
aoc-f003d2b372fe01a041399fd16dfc956dda46a273.zip
Solve day 6 part 2
-rw-r--r--2022/day06.awk16
1 files changed, 15 insertions, 1 deletions
diff --git a/2022/day06.awk b/2022/day06.awk
index 176cd4f..b682780 100644
--- a/2022/day06.awk
+++ b/2022/day06.awk
@@ -1,5 +1,13 @@
+function repeats(s, i) {
+	for (i = 1; i <= length(s); i++) {
+		for (j = i+1; j <= length(s); j++) {
+			if (substr(s, i, 1) == substr(s, j, 1)) return 1;
+		}
+	}
+	return 0;
+}
 {
-	for (i = 1; i < length; i++) {
+	for (i = 1; i <= length; i++) {
 		c1 = c2;
 		c2 = c3;
 		c3 = c4;
@@ -11,4 +19,10 @@
 		print i;
 		break;
 	}
+	for (i = 1; i+14 <= length; i++) {
+		s = substr($1, i, 14);
+		if (repeats(s)) continue;
+		print 13+i;
+		break;
+	}
 }
18&follow=1'>snapshot: use cgit_print_error_page() for HTTP status codesJohn Keeping 2015-08-14patch: use cgit_print_error_page() for HTTP status codesJohn Keeping 2015-08-14blob: use cgit_print_error_page() to add HTTP headersJohn Keeping 2015-08-14snapshot: use cgit_print_error_page() instead of html_status()John Keeping 2015-08-14plain: use cgit_print_error_page() instead of html_status()John Keeping 2015-08-14clone: use cgit_print_error_page() instead of html_status()John Keeping 2015-08-14cgit: use cgit_print_error_page() where appropriateJohn Keeping 2015-08-14ui-shared: add cgit_print_error_page() functionJohn Keeping 2015-08-14ui-patch: make sure to send http headersChristian Hesse 2015-08-13Makefile: make "git/config.mak.uname" inclusion optionalJohn Keeping 2015-08-13ui-shared: show full date in tooltip if longer ago than max_relativeJohn Keeping 2015-08-13ui-shared: use common function in print_rel_date()John Keeping 2015-08-13ui-shared: extract date formatting to a functionJohn Keeping 2015-08-13filter: don't use dlsym unnecessarilyJohn Keeping 2015-08-13ui-tree: use "sane" isgraph()John Keeping 2015-08-13cgit.h: move stdbool.h from ui-shared.hJohn Keeping 2015-08-13cache.c: fix header orderJohn Keeping 2015-08-13configfile.c: don't include system headers directlyJohn Keeping 2015-08-13Remove redundant includesJohn Keeping 2015-08-13Makefile: include Git's config.mak.unameJohn Keeping 2015-08-13tests: allow shell to be overriddenJohn Keeping 2015-08-13redirect: cleanlinessJason A. Donenfeld 2015-08-13redirect: be more careful for different cgi setupsJason A. Donenfeld 2015-08-12ui-log: fix double countingJohn Keeping 2015-08-12log: allow users to follow a fileJohn Keeping 2015-08-12shared: make cgit_diff_tree_cb publicJohn Keeping 2015-08-12t0110: Chain together using &&Jason A. Donenfeld 2015-08-12about: always ensure page has a trailing slashJason A. Donenfeld 2015-08-12filters: apply HTML escapingLazaros Koromilas 2015-08-12git: update to v2.5.0Christian Hesse 2015-08-12Fix processing of repo.hide and repo.ignoreDaniel Reichelt