From 68ce9ca70394fcbbf2a80f14ddee6188ef3840fa Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Thu, 1 Dec 2022 13:36:47 +0100 Subject: [PATCH] Day 01 --- src/days/01/Day01.cpp | 19 +++++++++++++++++-- src/days/01/Day01.h | 2 ++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/days/01/Day01.cpp b/src/days/01/Day01.cpp index 09d9f9c..0a50baa 100644 --- a/src/days/01/Day01.cpp +++ b/src/days/01/Day01.cpp @@ -1,9 +1,24 @@ #include "Day01.h" Result Day01::Task1() { - return Day::Task1(); + subSums.push_back(0); + for (const std::string& line : input){ + if (line.empty()) + subSums.push_back(0); + else + subSums[subSums.size() - 1] += stoi(line); + } + return to_string(*std::max_element(subSums.begin(), subSums.end())); } Result Day01::Task2() { - return Day::Task2(); + std::sort(subSums.begin(), subSums.end()); + + int sum = 0; + for (int i = 0; i < 3; i++){ + sum += subSums.back(); + subSums.pop_back(); + } + + return to_string(sum); } \ No newline at end of file diff --git a/src/days/01/Day01.h b/src/days/01/Day01.h index 2b72458..36a85a3 100644 --- a/src/days/01/Day01.h +++ b/src/days/01/Day01.h @@ -7,4 +7,6 @@ protected: Result Task1() override; Result Task2() override; + + std::vector subSums; }; \ No newline at end of file