From 56e890cec0a28c0a485212ccebfaf774235a79a2 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Wed, 3 Jan 2024 23:35:54 +0100 Subject: prepare for more puzzles ... :) --- src/day01.cpp | 82 ----------------------------------------------------------- 1 file changed, 82 deletions(-) delete mode 100644 src/day01.cpp (limited to 'src/day01.cpp') diff --git a/src/day01.cpp b/src/day01.cpp deleted file mode 100644 index ff357bc..0000000 --- a/src/day01.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include -#include -#include -#include -#include -#include -using namespace std; - -void -part1() -{ - string digits{ "0123456789" }; - fstream input{ "data/day01.txt" }; - - int sum = 0; - for ( string line; input >> line; ) { - auto first = find_first_of(begin(line), end(line), begin(digits), end(digits)); - auto last = find_first_of(rbegin(line), rend(line), begin(digits), end(digits)); - - auto value = (*first - '0') * 10 + (*last - '0'); - - sum += value; - } - cout << sum << endl; -} - -void -part2() -{ - map map{ - { "0", 0 }, - { "1", 1 }, - { "2", 2 }, - { "3", 3 }, - { "4", 4 }, - { "5", 5 }, - { "6", 6 }, - { "7", 7 }, - { "8", 8 }, - { "9", 9 }, - { "one", 1 }, - { "two", 2 }, - { "three", 3 }, - { "four", 4 }, - { "five", 5 }, - { "six", 6 }, - { "seven", 7 }, - { "eight", 8 }, - { "nine", 9 }, - }; - - fstream input{ "data/day01.txt" }; - - auto sum = 0; - for ( string line; input >> line; ) { - string sub; - vector digits; - - for ( auto ch: line ) { - sub += ch; - - for ( const auto& word: map ) { - if ( sub.ends_with(word.first) ) { - digits.push_back(word.second); - } - } - } - - auto first = digits.front(); - auto last = digits.back(); - - sum += (first * 10) + last; - } - cout << sum << endl; -} - -int -main() -{ - part1(); - part2(); -} -- cgit v1.3