JSFiddle - React, Tailwind, and code Playground
by hanaeto
JavaScript
/*
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;
}