/* http://codingdojang.com/scode/393 1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? 8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. (※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함) */ // 간단하게 for문 사용. var start = 1; var end = 10000; var iStr, eightCount = 0; for( var i=start; i<end; i++ ) { iStr = String( i ); for( var j=0; j<iStr.length; j++ ) { if( iStr.charAt( j ) === '8' ) eightCount++; } } print( eightCount ); // 한 줄로... IE에선 => 때문에 동작 안 할 듯. print( Array.apply( null, Array( 10000 ) ).map( ( v, i ) => { return i } ).join( "" ).match( /8/g ).length ); function print( message ) { document.write( "<li>" + message + "</li>" ) return message; }