diff --git a/2025/ruby/day_06.rb b/2025/ruby/day_06.rb
index c56a188..9b0714d 100644
--- a/2025/ruby/day_06.rb
+++ b/2025/ruby/day_06.rb
@@ -1,25 +1,21 @@
-# problems = DATA.read
-# .lines
-# .map { it.split(/\s+/).reject(&:empty?) }
-# .transpose
-# .map { it[0..-2].map(&:to_i) << it[-1] }
-#
-# pp problems.map {|problem|
-# problem[0..-2].inject(&problem[-1].to_sym)
-# }.sum
-
problems = DATA.read
.lines(chomp: true)
.map(&:chars)
+ .rotate(-1)
.transpose
- .map {|row| row.reject { it == " " }}
- .reject(&:empty?)
- .slice_before { "+*".chars.include?(it.last) }
+ .reject { it.join.strip.empty? }
+ .slice_before { "+*".chars.include?(it.first) }
+ .map {|problem|
+ op = problem[0][0].to_sym
+ args = problem.map { it[1..] }
+ [op, args]
+ }
-pp problems.map {|problem|
- op = problem[0].pop
- args = problem.map(&:join).map(&:to_i)
- args.inject(&op.to_sym)
-}.sum
+pp problems.sum {|op,args| args.transpose.map { it.join.to_i }.inject(&op) }
+pp problems.sum {|op,args| args.map { it.join.to_i }.inject(&op) }
__END__
+123 328 51 64
+ 45 64 387 23
+ 6 98 215 314
+* + * +