0〜1000に含まれる0をカウントする

練習 - krystal: プログラミング超初心者(文系) - Rubyist
0〜1000に含まれる0をカウントする - (rubikitch loves (Emacs Ruby CUI Books))
0〜1000に含まれる0をカウントする - みずぴー日記

JavaScriptで。

var count = 0;(new Array(1001)).join(',').split(',').forEach(function(a,i){count+=(''+i).replace(/[^0]/g,'').length;});alert(count);

外側の var がいまひとつ。

強引だけど、

(new Array(1001)).join(',').split(',').forEach(function(_,i,a){a[i]=(a[i-1]||0)+i.toString().replace(/[^0]/g,'').length;if(i==1000)alert(a[i]);});

こっちのほうがスマートかな。

alert(((new Array(1002)).join(',').split('').map(function(_,i,a){return i})+'').replace(/[^0]/g,'').length);

短くするなら、

for(var i=0,c=0;i<1001;++i)c+=(i+'').replace(/[^0]/g,'').length;alert(c);

matchで良いのか。

for(var i=0,c='';i<1001;++i)c+=i+'';alert(c.match(/0/g).length);


ゴルファーの回答→ '0' in 0~1000 - ellaneous
''に++できるのかー、NaNになると思ってた。