桜川本店4個セットの組み合わせ
堂島店ではホワイトデー需要も終わり落ち着きを取り戻した感があるが、桜川本店では相変わらず春休み需要に沸いているようだ。
Instagram で桜川4個セットを投稿している人がいて、桜川店での4個セット価格が570円と判明した。
堂島店に引き続き桜川本店も 4個セットの組み合わせを表示してみる。
menu = <<EOF.lines.map{|l| l.chomp.split(/\s+/)}.each_with_object({}){|(v,k), _| _[k] = v.to_i} 120 しろ 130 ほうじ茶 130 抹茶あんこ 130 黒糖くるみ 150 珈琲 140 あんず 160 ベリーベリー 170 ばなナッツ EOF price = 570 combinations = menu.keys.combination(4).to_a set4p = combinations.select{|caneles| caneles.map{|c| menu[c]}.sum == price} .select{|caneles| seasons.any?{|season| caneles.include?(season)}} .reject{|caneles| seasons.all?{|season| caneles.include?(season)}} set4p.size # => 10 combinations.size # => 70 set4p # => [["しろ", "ほうじ茶", "珈琲", "ばなナッツ"], # ["しろ", "抹茶あんこ", "珈琲", "ばなナッツ"], # ["しろ", "黒糖くるみ", "珈琲", "ばなナッツ"], # ["しろ", "珈琲", "あんず", "ベリーベリー"], # ["ほうじ茶", "抹茶あんこ", "珈琲", "ベリーベリー"], # ["ほうじ茶", "抹茶あんこ", "あんず", "ばなナッツ"], # ["ほうじ茶", "黒糖くるみ", "珈琲", "ベリーベリー"], # ["ほうじ茶", "黒糖くるみ", "あんず", "ばなナッツ"], # ["抹茶あんこ", "黒糖くるみ", "珈琲", "ベリーベリー"], # ["抹茶あんこ", "黒糖くるみ", "あんず", "ばなナッツ"]]
全8種を使用していたが、頻度はバラバラだった。
caneles = set4p.flatten.sort caneles.uniq.size # => 8 puts menu.keys.map{|c| "%4d %s" % [caneles.count(c), c]} # >> 4 しろ # >> 5 ほうじ茶 # >> 5 抹茶あんこ # >> 5 黒糖くるみ # >> 7 珈琲 # >> 4 あんず # >> 4 ベリーベリー # >> 6 ばなナッツ