diff --git a/src/y2025/d02/solve.rb b/src/y2025/d02/solve.rb index 00dec1d..b355154 100755 --- a/src/y2025/d02/solve.rb +++ b/src/y2025/d02/solve.rb @@ -3,6 +3,15 @@ ranges = ARGF.read.scan(/(\d+)-(\d+)/).map { |(a, b)| (a.to_i)..(b.to_i) } -puts ranges.flat_map { |range| - range.select { |n| n.size.even? && n.to_s.then { |s| s[0...(s.size / 2)] == s[(s.size / 2)..] } } -}.sum +part1 = 0 +part2 = 0 + +ranges.each do |range| + range.each do |num| + s = num.to_s + part1 += num if s.size.even? && s[0...(s.size / 2)] == s[(s.size / 2)..] + part2 += num if s =~ /^(\d+)\1+$/ + end +end + +p part1, part2