Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

「このお店とこのお店は同じ店?」を解いてみました

CodeIQの「このお店とこのお店は同じ店?」を解いてみました。
驚いたことに、CodeIQ Blogに解答を掲載して頂いてます。

solv.rb

# -*- coding: utf-8 -*-
require 'levenshtein'

def solv(original, strings)
  strings.map! {|s|
    {
      val: Levenshtein.normalized_distance(original, s),
      str: s
    }
  }
  strings.min_by {|e| e[:val]}[:str]
end

# ケース1
puts solv("中目黒いぐち", ["焼鳥 中目黒 いぐち", "串若丸 本店 くしわかまる", "鳥よし 中目黒店 とりよし"])
# ケース2
puts solv("まるかつ水産 東京ミッドタウン店", ["まるかつ水産 東京ミッドタウン店", "まるかつ食堂 東京ミッドタウン店", "東京ミッドタウン店 アンリ・ルルー", "浅野屋 東京ミッドタウン店"])
# ケース3
puts solv("寿司寿", ["六本木 寿司寿", "寿し処 寿々 すず - 溜池山王/寿司", "松葉寿し まつばずし - 六本木一丁目/寿司"])