Commit day 3 part 1

This commit is contained in:
2025-12-06 15:48:26 -06:00
parent 601ac72c24
commit eb309eb685
3 changed files with 229 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
import "dart:convert";
import "dart:io";
import "package:args/command_runner.dart";
@@ -32,5 +33,29 @@ class Day3Command extends Command {
print("Parsing file: $filePath");
var inputFile = File(filePath);
var part1Result = await inputFile
.openRead()
.transform(utf8.decoder)
.transform(LineSplitter())
.map((line) {
int tens = -1;
int ones = -1;
final chars = line.split("");
for (final (idx, char) in chars.indexed) {
final char_as_int = int.parse(char);
if (char_as_int > tens && idx < chars.length - 1) {
tens = char_as_int;
ones = -1;
} else if (char_as_int > ones) {
ones = char_as_int;
}
}
return tens * 10 + ones;
})
.reduce((left, right) => left + right);
print("Part 1 Answer: $part1Result");
}
}