From b14dce43889ea4c9f0e2163f0aa5a0c3ca0a1377 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sun, 28 Apr 2024 14:02:59 +0200 Subject: day 6, advent of code 2022 --- 2022/src/day06.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 2022/src/day06.cpp (limited to '2022/src') diff --git a/2022/src/day06.cpp b/2022/src/day06.cpp new file mode 100644 index 0000000..44d5dc2 --- /dev/null +++ b/2022/src/day06.cpp @@ -0,0 +1,36 @@ +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +string +read_file(string_view filename) +{ + fstream input{ filename }; + return { istreambuf_iterator{ input }, {} }; +} + +void +solve(const string& data, size_t length) +{ + for ( size_t i = 0; i != data.length() - length; ++i ) { + const auto substr = data.substr(i, length); + set set(begin(substr), end(substr)); + if (set.size() == length) { + cout << i + length << endl; + break; + } + } +} + +int +main() +{ + const auto data = read_file("data/day06.txt"); + solve(data, 4); + solve(data, 14); +} -- cgit v1.3