diff --git a/src/2022/06.c b/src/2022/06.c index 01722b5..4830f8b 100644 --- a/src/2022/06.c +++ b/src/2022/06.c @@ -1,10 +1,38 @@ #include #include +#include #include "lfinput.h" +static void scan(char *input, size_t len) { + size_t sz = strlen(input); + + for (size_t i = 0; i < sz - len; ++i) { + int char_set[256]; + memset(char_set, 0, sizeof(int) * 256); + char *start = &input[i]; + char *end = &input[i + len]; + int fail = 0; + + do { + if(char_set[*start] > 0) { + fail = 1; + break; + } + char_set[*start] = 1; + ++start; + } while (start != end); + + if (!fail) { + printf("%zu\n", i + len); + break; + } + } +} + void advent2022day06(void) { char *input = get_input("input/2022/06"); - printf("Solution for Day 06 of 2022 is not completed yet\n"); + scan(input, 4); + scan(input, 14); free(input); } diff --git a/src/2022/scripts/massage05.py b/src/2022/scripts/massage05.py new file mode 100644 index 0000000..e69de29