AtCoder BC098 B: Cut and Count

問題

https://abc098.contest.atcoder.jp/tasks/abc098_b

解法

文字列のサイズが最大でも100なので、全ての切断箇所のパターンで「どちらにも含まれる文字」の種類を数え上げれば解けます。

Rubyの場合、配列の「&」をとると共通部分が求められるので、実装は以下のようになります。

実装

n = gets.chomp.to_i
s = gets.chomp.split("")
ans = 0
1.upto(n-1) do |i|
    tmp = (s.slice(0,i) & s.slice(i,n-i)).size
    ans = tmp if tmp > ans
end
puts ans