1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
(※(注記) 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
Array(10000).fill(1).map((i,idx)=>i+idx).join("").split("8").length-1
2024年12月19日 17:08
javascript 풀이입니다.
const answer = Array(10000).fill(0).map((v,i)=>i).join("").split("").filter(v=> v==='8');
rerturn answer.length;
2023年09月01日 21:53
input을 10,000으로 받고, check8이라는 배열을 생성합니다. fill을 사용해 모두 0으로 채워 넣은 후, map을 활용해 index값으로 늘리면서 10,000까지 들어 있는 배열을 만들었습니다.
이후 문자열로 변환 후 모든 숫자를 split("")하였습니다. 이후 filter를 사용해 "8" 값을 찾아냈고 길이만큼 출력했습니다. (숫자는 split("")을 할 수 없습니다.)
let input = 10000;
let check8 = Array(input).fill(0).map((v, i) => i);
let result = check8.toString().split("").filter((v) => v === "8").length;
console.log(result);
2023年03月10日 14:42
const checkEight = (number) => {
let answer = 0
for(let i = 1; i <= number; i++){
let numToStr = String(i)
let numArr = Array.from(numToStr)
if(numArr.includes('8')){
for(let i of numArr){
if(i === '8'){
answer++
}
}
}else continue
}
return answer
}
2023年02月19日 19:28
/* 1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
(※(注記) 예를들어 8808은 3, 8888은 4로 카운팅 해야 함) */
let count = 0
for (let i = 1; i <= 10000; i++) {
for (let j = 0; j < String(i).length; j++) {
String(i)[j] === "8" && count++
}
}
console.log(count)
풀이 작성