Finish day 2

This commit is contained in:
2025-12-04 14:53:54 -06:00
parent bf5448a025
commit 462ad70e27
3 changed files with 60 additions and 20 deletions

View File

@@ -1,4 +1,3 @@
import "dart:convert";
import "dart:io";
import "package:args/command_runner.dart";
@@ -34,7 +33,10 @@ class Day2Command extends Command {
var inputFile = File(filePath);
var openFile = await inputFile.readAsString();
var part1Answer = openFile
RegExp exp = RegExp(r'^([0-9]+)\1+$');
var ids = openFile
.trim()
.split(',')
.expand((range) {
@@ -49,15 +51,26 @@ class Day2Command extends Command {
List.generate(to - from + 1, (i) => i + from);
return createRange(numRange[0], numRange[1]);
})
.map((id) => id.toString())
.map((id) => id.toString());
var part1Answer = ids
.where((id) => id.length.isEven)
.where((id) {
var first_half = id.substring(0, (id.length / 2).floor());
var second_half = id.substring((id.length / 2).floor(), id.length);
return first_half == second_half;
var firstHalf = id.substring(0, (id.length / 2).floor());
var secondHalf = id.substring((id.length / 2).floor(), id.length);
return firstHalf == secondHalf;
})
.map((id) => int.parse(id))
.reduce((id1, id2) => id1 + id2);
print("Part 1 Answer: $part1Answer");
var part2Answer = ids
.where((id) => exp.hasMatch(id))
.map((id) {
//print(id);
return int.parse(id);
})
.reduce((id1, id2) => id1 + id2);
print("Part 2 Answer: $part2Answer");
}
}