aboutsummaryrefslogtreecommitdiff
path: root/2024/src/day03.cpp
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2024-12-03 21:25:26 +0100
committerThomas Schmucker <ts@its1.de>2024-12-03 21:25:26 +0100
commit1e1e3664dba5fffd28f55df19fde648236498c2d (patch)
treee5b645cffb8fa84257af338d6b6d6bfd96196868 /2024/src/day03.cpp
parent6bdb9bc94c54b9ae37d7a358057d84c893428e0b (diff)
downloadadvent-of-code-1e1e3664dba5fffd28f55df19fde648236498c2d.tar.gz
advent-of-code-1e1e3664dba5fffd28f55df19fde648236498c2d.tar.bz2
advent-of-code-1e1e3664dba5fffd28f55df19fde648236498c2d.zip
istreambuf_iterator
Diffstat (limited to '2024/src/day03.cpp')
-rw-r--r--2024/src/day03.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/2024/src/day03.cpp b/2024/src/day03.cpp
index bfbd781..774404d 100644
--- a/2024/src/day03.cpp
+++ b/2024/src/day03.cpp
@@ -9,7 +9,7 @@ string
9read_file(string_view filename) 9read_file(string_view filename)
10{ 10{
11 fstream input{ filename }; 11 fstream input{ filename };
12 return { istream_iterator<char>{ input }, {} }; 12 return { istreambuf_iterator<char>{ input }, {} };
13} 13}
14 14
15void 15void
@@ -29,16 +29,16 @@ part2(const string& data)
29{ 29{
30 static const regex pattern{ R"(do\(\)|don't\(\)|mul\((\d{1,3}),(\d{1,3})\))" }; 30 static const regex pattern{ R"(do\(\)|don't\(\)|mul\((\d{1,3}),(\d{1,3})\))" };
31 31
32 long sum = 0; 32 long sum = 0;
33 bool state = true; 33 bool enabled = true;
34 for ( auto it = sregex_iterator{ data.begin(), data.end(), pattern }; it != sregex_iterator{}; ++it ) { 34 for ( auto it = sregex_iterator{ data.begin(), data.end(), pattern }; it != sregex_iterator{}; ++it ) {
35 if ( it->str() == "do()" ) { 35 if ( it->str() == "do()" ) {
36 state = true; 36 enabled = true;
37 } 37 }
38 else if ( it->str() == "don't()" ) { 38 else if ( it->str() == "don't()" ) {
39 state = false; 39 enabled = false;
40 } 40 }
41 else if ( state ) { 41 else if ( enabled ) {
42 sum += stol((*it)[1]) * stol((*it)[2]); 42 sum += stol((*it)[1]) * stol((*it)[2]);
43 } 43 }
44 } 44 }