昨日のRubyのプログラムの正規表現の部分が改良できそうだったので、検索したらいいのを見つけました。(^_^;
プログラム自体もすっきりして、しかも高速化しました。o(^-^)o
やっぱり、自分で考えるより、検索した方が早いですね。(^_^;
※参考URL
●You Look Too Cool ≫ 「同じ文字が2個並んだ文字列」の正規表現
●Zorome02.rb
# Zorome02.rb tm=Time.now # Timer Start cnt=0 for x in 1..1000000 do cnt+=1 if x.to_s=~/([1-9])\1\1+/ end puts cnt tm=Time.now-tm # Timer Stop print "Runtime : %.3f [sec]\n"%tm
●実行結果
33228 Runtime : 1.827 [sec]
ちなみに、JavaScriptに翻訳したら次の通りです。(^_^;
●Zorome.html
<html> <head> <title>Zorome.html</title> </head> <body> <script type="text/javascript"> var tm=(new Date()).getTime(); // Timer start var cnt=0; for(var x=1; x<=1000000; x++) if(/([1-9])\1\1+/.test(x)) cnt+=1; document.write(cnt,"<br>"); tm=(new Date()).getTime()-tm; // Timer stop document.write("Runtime : ",tm/1000.0, "[sec]<br>"); </script> </body> </html>
●実行結果
33228 Runtime : 1.121[sec]
- 作者: アンク
- 出版社/メーカー: 翔泳社
- 発売日: 2008/09/04
- メディア: 大型本
- 購入: 1人 クリック: 18回
- この商品を含むブログ (12件) を見る
- 作者: アンク
- 出版社/メーカー: 翔泳社
- 発売日: 2007/09/13
- メディア: 大型本
- 購入: 3人 クリック: 38回
- この商品を含むブログ (10件) を見る