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("寿司寿", ["六本木 寿司寿", "寿し処 寿々 すず - 溜池山王/寿司", "松葉寿し まつばずし - 六本木一丁目/寿司"])