[2021][ruby][12.x] tweak
change kyzkrzvlplkqsqukwszssvltyxzlwspu
commit 2345008b82c7fd3061ab7413f76c47f73197b24a
author Alpha Chen <alpha@kejadlen.dev>
date
parent zlttkvmm
diff --git a/2021/ruby/day_12.rb b/2021/ruby/day_12.rb
index 41612db..053cd36 100644
--- a/2021/ruby/day_12.rb
+++ b/2021/ruby/day_12.rb
@@ -14,11 +14,11 @@ loop do
     cave.fetch(path.last)
       # .reject { _1 =~ /^[a-z]+$/ && path.include?(_1) }
       .reject { _1 == "start" }
-      .map { path + [_1] }
-      .reject {|path|
-        small = path.tally.select { _1 =~ /^[a-z]+$/ }
-        (small.count { _2 > 1 } > 1) || small.any? { _2 > 2 }
+      .reject {|cave|
+        smalls = path.tally.select { _1 =~ /^[a-z]+$/ }
+        smalls.fetch(cave, 0) > (smalls.any? { _2 > 1 } ? 0 : 1)
       }
+      .map { path + [_1] }
   }
 end