about summary refs log tree commit diff
path: root/day06.zig
diff options
context:
space:
mode:
authorLeah Neukirchen <leah@vuxu.org>2022-12-07 22:34:22 +0100
committerLeah Neukirchen <leah@vuxu.org>2022-12-07 22:34:22 +0100
commitf4bb1b6ca10ad9c7c2479152ce99aa603d0eea02 (patch)
treec4b13f2efbee77f05ee57dcf70bfb992234a0728 /day06.zig
parentb8dca4302904f7356fd2b0c462e6965824ba582a (diff)
downloadadventofcode2022-f4bb1b6ca10ad9c7c2479152ce99aa603d0eea02.tar.gz
adventofcode2022-f4bb1b6ca10ad9c7c2479152ce99aa603d0eea02.tar.xz
adventofcode2022-f4bb1b6ca10ad9c7c2479152ce99aa603d0eea02.zip
day06
Diffstat (limited to 'day06.zig')
-rw-r--r--day06.zig23
1 files changed, 23 insertions, 0 deletions
diff --git a/day06.zig b/day06.zig
new file mode 100644
index 0000000..24e2025
--- /dev/null
+++ b/day06.zig
@@ -0,0 +1,23 @@
+const std = @import("std");
+const data = @embedFile("day06");
+
+fn solve(n: usize) usize {
+    var i: usize = 0;
+    outer: while (i < data.len - n) : (i += 1) {
+        var j: usize = 0;
+        while (j < n) : (j += 1) {
+            var k: usize = j + 1;
+            while (k < n) : (k += 1) {
+                if (data[i + j] == data[i + k]) continue :outer;
+            }
+        }
+        return i + n;
+    }
+
+    return 0;
+}
+
+pub fn main() !void {
+    std.debug.print("{}\n", .{solve(4)});
+    std.debug.print("{}\n", .{solve(14)});
+}