diff --git a/include/aoc/framework/Solver-impl.hpp b/include/aoc/framework/Solver-impl.hpp index 07fd066..b7de834 100644 --- a/include/aoc/framework/Solver-impl.hpp +++ b/include/aoc/framework/Solver-impl.hpp @@ -17,6 +17,7 @@ #include +#include #include template @@ -54,10 +55,7 @@ template std::string Solver::clean(const std::string& original) const { std::string cleaned{ original }; - size_t start_pos = 0; - while ((start_pos = cleaned.find(" ", start_pos)) != std::string::npos) - { - cleaned.replace(start_pos, 1, "_"); - } + std::transform(cleaned.begin(), cleaned.end(), cleaned.begin(), + [](unsigned char c) { return c == ' ' ? '_' : std::tolower(c); }); return cleaned; }