桜川本店4個セットの組み合わせ

大阪のカヌレ専門店カヌレ堂ステマ企画 第3弾。

堂島店ではホワイトデー需要も終わり落ち着きを取り戻した感があるが、桜川本店では相変わらず春休み需要に沸いているようだ。

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 ばなナッツ