From 4b55321c848a7ffd643d8aced2da49ab7b73abaa Mon Sep 17 00:00:00 2001 From: Ben Kyd Date: Wed, 3 Dec 2025 07:01:20 +0000 Subject: [PATCH] day 3 part 1 naive --- 2025/3.txt | 4 ++++ 2025/aoc | Bin 82944 -> 82976 bytes 2025/day3.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) 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 cdae1ccd7b947391c42a0e0044cecf1c373f24dd..63b062fef1b1b665c5bcfec8063be68dd4ff3b61 100755 GIT binary patch delta 8724 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 Z=UOo4c)H|AViP;@W9{QsLAOEv%i delta 8124 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 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