From cbd9541f30eac048124866108e8fbb919ce18021 Mon Sep 17 00:00:00 2001 From: Evan Burkey Date: Wed, 21 Dec 2022 14:19:16 -0800 Subject: [PATCH] 2022-06 --- src/2022/06.c | 30 +++++++++++++++++++++++++++++- src/2022/scripts/massage05.py | 0 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/2022/scripts/massage05.py 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