1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? 이를 구하는 함수를 완성하라.
단, 8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. 예를 들어 8808은 3, 8888은 4로 카운팅 해야 한다.
(hint) 문자열 중 n번째에 있는 문자 : str.charAt(n)
or str[n]
function getCount8 () {
}
console.log(getCount8()); // 4000
1부터 10000까지의 숫자를 하나의 긴 문자열로 만들고 그 문자열을 for문으로 순회하면서 8의 개수를 찾는다.
function getCount8 () {
let str = '';
let count = 0;
for( let i = 0; i <= 10000; i++ ){
str += i; // str 안에 1부터 10000까지의 모든 수를 담는다.
}
for( let i = 0; i < str.length; i++) {
if( str[i] === '8') ++count; // str을 순회하면서 8이 있다면 count를 1씩 증가시킨다.
}
return count;
}
console.log(getCount8()); // 4000
1000의 자리수가 8인 경우 : 8 X X X (10^3개)
100의 자리수가 8인 경우 : X 8 X X (10^3개)
10의 자리수가 8인 경우 : X X 8 X (10^3개)
1의 자리수가 8인 경우 : X X X 8 (10^3개)
10^3 * 4 = 4000개
생각 못한 방법이네요😃😃