diff --git a/2024/ruby/day_03.rb b/2024/ruby/day_03.rb
new file mode 100644
index 0000000..c1ccf60
--- /dev/null
+++ b/2024/ruby/day_03.rb
@@ -0,0 +1,8 @@
+input = DATA.read
+ .gsub(/don't\(\)(?~do\(\))do\(\)/, "") # part two
+ .scan(/mul\((\d+),(\d+)\)/)
+ .map { _1.map(&:to_i) }
+
+pp input.sum { _1 * _2 }
+
+__END__