aoc2022/day6/puzzle2.zig

35 lines
927 B
Zig

const std = @import("std");
const mem = std.mem;
const fmt = std.fmt;
const input = @embedFile("input");
pub fn main() !void {
input: for (input) |_, i| {
// Start searching at fourth character
if (i < 13) continue;
if (i > input.len - 13) break;
const chars: []const u8 = input[i-13..i+1];
std.debug.print("{s}\n", .{chars});
chars: for (chars) |char_1, j| {
for (chars) |char_2, k| {
// Don't check the same character
if (j <= k) continue;
//std.debug.print("{c},{c}\n", .{char_1, char_2});
if (char_1 == char_2) {
// Don't check anymore
break :chars;
}
}
} else {
// If no repeats have been found
std.debug.print("Solution found: {}\n", .{i+1});
break :input;
}
}
}