From aeb838b832e3f5e8394e23d542c77386372d3bb8 Mon Sep 17 00:00:00 2001 From: Jeff Yates Date: Tue, 8 Dec 2020 15:49:29 -0500 Subject: [PATCH] solved part 1 --- day07/solution01.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 day07/solution01.rb diff --git a/day07/solution01.rb b/day07/solution01.rb new file mode 100755 index 0000000..80fce00 --- /dev/null +++ b/day07/solution01.rb @@ -0,0 +1,18 @@ +#!/bin/env ruby + +def can_hold? (bags, color) + parents = bags.map { |bag| bag[1..]. + map { |child| bag[0] if child.include?(color)} + }.flatten.compact + if parents.any? + parents += parents.map { |col| can_hold?(bags, col) } + end + parents.flatten.uniq +end + +bags = File.readlines('./input').map { |line| line.delete('.').strip.split('contain'). + map { |item| item.strip.split(',')}.flatten +} +bags.map { |line| line.map { |str| str.slice!('bags') }} +bags.map { |line| line.map { |str| str.slice!('bag') }} +p can_hold?(bags, 'shiny gold').length \ No newline at end of file