23 lines
637 B
Ruby
23 lines
637 B
Ruby
|
#!/bin/env ruby
|
||
|
require 'pry'
|
||
|
|
||
|
def paper_needed(dimensions)
|
||
|
h, l, w = dimensions
|
||
|
(2 * l * w) + (2 * w * h) + (2 * h * l) + dimensions.min(2).reduce(:*)
|
||
|
end
|
||
|
|
||
|
def ribbon_needed(dimensions)
|
||
|
dimensions.min(2).sum * 2 + dimensions.reduce(:*)
|
||
|
end
|
||
|
|
||
|
presents = File.readlines('./input').map { |line| line.strip.split('x').map(&:to_i) }
|
||
|
|
||
|
# Part 1, How many total square feet of wrapping paper should they order?
|
||
|
paper_total = presents.map { |present| paper_needed(present) }.sum
|
||
|
|
||
|
puts 'Part 1 Solution: ' + paper_total.to_s
|
||
|
|
||
|
ribbon_total = presents.map { |present| ribbon_needed(present) }.sum
|
||
|
|
||
|
puts 'Part 2 Solution: ' + ribbon_total.to_s
|