オフラインリアルタイムどう書く #27 の解答例
#coding:utf-8
def exist src, ptns
ptns.each.any? do |ptn|
ptn.each_char.all?{|c| !src.include? c}
end
end
def proc src
h = {
14 =>%w(abc gc gh),
15 =>%w(ab ge),
16 =>%w(abc ghi gc),
24 =>%w(dc h),
25 =>%w(de),
26 =>%w(hi dc),
34 =>%w(bc fgc fgh),
35 =>%w(b fge),
36 =>%w(fghi bc fgc),
}
res = []
h.each do |k,v|
res.push k if exist(src, v)
end
res.empty? ? "-" : res.join(",")
end
DATA.each do |d|
n, src, dst = d.split
res = proc src
puts "#{n} : #{src} : #{res} != #{dst}" unless res == dst
end
__END__
0 befi 14,16,24,26
1 abc 14,15,16,24,25,26,34,35,36
2 de 14,15,16,24,26,34,35,36
3 fghi 14,15,16,24,25,26,34,35,36
4 abcdefghi -
5 ag 24,25,26,34,35,36
6 dh 14,15,16,34,35,36
7 bf 14,15,16,24,25,26
8 ch 15,25,35
9 be 14,16,24,26,34,36
10 ci 14,15,24,25,34,35
Author And Source
この問題について(オフラインリアルタイムどう書く #27 の解答例), 我々は、より多くの情報をここで見つけました https://qiita.com/MikuriyaHiroshi/items/5ed33c292244559fad06著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .