From 5de5426c8f037b32131b78f3076dc94c83a34508 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Thu, 14 Nov 2024 21:39:43 +0100 Subject: aoc 2015, day 10 --- 2015/src/day10.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 2015/src/day10.cpp (limited to '2015/src/day10.cpp') diff --git a/2015/src/day10.cpp b/2015/src/day10.cpp new file mode 100644 index 0000000..fe4686f --- /dev/null +++ b/2015/src/day10.cpp @@ -0,0 +1,39 @@ +#include +#include + +using namespace std; + +string +process(string_view str) +{ + string result{}; + size_t pos = 0; + + while ( pos != str.size() ) { + char cur = str[pos]; + size_t count = 0; + while ( pos != str.size() && cur == str[pos] ) { + ++count; + ++pos; + } + result += to_string(count); + result += cur; + } + return result; +} + +void +solve(string str, int n) +{ + for (int i = 0; i != n; ++i) { + str = process(str); + } + cout << str.size() << endl; +} + +int +main() +{ + solve("1113222113", 40); + solve("1113222113", 50); +} -- cgit v1.3