[アルゴリズム練習]1~10000個の数字のうち8個が出現する回数を求める(Google)


1から10000まで何回8という数字が出ますか?評価関数を完了します.ただし、8を含む数字の個数を計算するのではなく、すべての8の数字を計算します.例えば、8808は38888で4であるべきである.
(hint)文字列のn番目の文字:str.charat(n)またはstr[n]
function getCount8 () {
	// 풀이 입력
}

console.log(getCount8()); // 4000
答えを出す.
function getCount8() {
  let num = 0;

  for (let i = 1; i <= 10000; i++) {
    const str = i + '';
    for (let j = 0; j < str.length; j++) {
      if (str[j] === '8') { ++num; }
    }
  }
  return num;
}

console.log(getCount8()); // 4000
数字を文字列に変換し、1つ1つを「8」と比較して次の数字に移動します.
説明する.
function getCount8() {
  let str = '';
  let count = 0;

  for (let i = 1; i <= 10000; i++) {
    str += i;
  }

  for (let j = 0; j < str.length; j++) {
    if (str[j] === '8') ++count;
  }

  return count;
}

console.log(getCount8()); // 4000
1~10000の数字を文字列に構成し、indexで1つずつアクセスし、「8」と比較します.