diff --git a/2025/3.txt b/2025/3.txt index e69de29..7255fca 100644 --- a/2025/3.txt +++ b/2025/3.txt @@ -0,0 +1,4 @@ +987654321111111 +811111111111119 +234234234234278 +818181911112111 diff --git a/2025/aoc b/2025/aoc index cdae1cc..63b062f 100755 Binary files a/2025/aoc and b/2025/aoc differ diff --git a/2025/day3.hpp b/2025/day3.hpp index 3200649..58d5530 100644 --- a/2025/day3.hpp +++ b/2025/day3.hpp @@ -11,7 +11,45 @@ public: uint64_t PartOne(File& f) override { + uint64_t totalJoltage = 0; + for (auto bank : f.Lines()) + { + int joltage = 0; + // find biggest (can't be last) + int biggest = 0; + int biggestIndex = 0; + for (int i = 0; i < bank.length() - 1; i++) + { + if (bank[i] - '0' > biggest) + { + biggest = bank[i] - '0'; + biggestIndex = i + 1; + } + } + + joltage = biggest; + joltage *= 10; + + std::cout << biggest; + biggest = 0; + + + for (int i = biggestIndex; i < bank.length(); i++) + { + if (bank[i] - '0' > biggest) + { + biggest = bank[i] - '0'; + } + } + std::cout << biggest << std::endl; + + joltage += biggest; + + totalJoltage += joltage; + } + + return totalJoltage; } uint64_t PartTwo(File& f) override