Codeforces 146 B. Lucky Mask

問題

ある数のLucky maskとは、その数から4または7の数字だけを取り出して、
元の順のまま並べて一つの数字にしたものである。


72174994のmaskは7744で、7のmaskは7, 9999047のmaskは47である。
与えられた数4または7のみからなる数bに対して、
aより大きい数で、そのmaskがbに等しくなるような数cを求めよ。

制約条件

a,b≦10^5

方針

cは10^6以下くらいであるので全通り試せばいい。
rubyで書いてみた。
集合差を使ってみたが、これも正規表現(gsubメソッド)を使ったらもっと簡単に書けたっぽい。

ソースコード

a, b = gets.split(" ")
c = a.to_i
while true
 c += 1
 if (c.to_s.chars.to_a - "01235689".chars.to_a) == b.chars.to_a
  p c
  exit
 end
end