Commit day 3 part 1
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user