[2025][ruby][5.x]
change tpzmlownzzqmpxttnmumkkqzmqooqwnn
commit ce5187054a3b65b50c033b9d1cb92a796e20a37a
author Alpha Chen <alpha@kejadlen.dev>
date
parent vtwrqqoz
diff --git a/2025/ruby/day_05.rb b/2025/ruby/day_05.rb
new file mode 100644
index 0000000..b2636ff
--- /dev/null
+++ b/2025/ruby/day_05.rb
@@ -0,0 +1,16 @@
+fresh, available = DATA.read.split("\n\n")
+fresh = fresh.scan(/(\d+)-(\d+)/).map { Range.new(*it.map(&:to_i)) }
+available = available.lines.map(&:to_i)
+
+pp available.count {|id| fresh.any? {|range| range.cover?(id) }}
+
+ranges = fresh
+  .sort_by { [it.begin, it.end] }
+  .chunk_while { _1.end >= _2.begin }
+  .map {|ranges|
+    Range.new(ranges.map(&:begin).min, ranges.map(&:end).max)
+  }
+
+pp ranges.sum(&:size)
+
+__END__