1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가?
8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다.
(※(注記) 예를들어 8808은 3, 8888은 4로 카운팅 해야 함)
오늘 밀고가는 자바스크립트와 정규식 조합입니다.
var c = 0;
for(var i = 0 ; i <= 10000 ; i++) {
(i + "").replace(/[8]+/g, function (match) {
c += match ? match.length : 0;
});
}
console.log(c);
2014年04月29日 20:23
//javascript
function test(a){
return (a.toString().length-1)*(a/10);
}
//test
for (var j=0 ; j<10; j++){
var input = Math.pow(10, j);
console.log( "%d -> %d ", input, test( input )) ;
}
결과
1 -> 0
10 -> 1
100 -> 20
1000 -> 300
10000 -> 4000
100000 -> 50000
1000000 -> 600000
10000000 -> 7000000
100000000 -> 80000000
1000000000 -> 900000000
2014年05月30日 18:11
Javascript 입니다.
var cnt = 0;
var strNum;
for(var i=1;i<=10000;i++) {
strNum = String(i);
for(var j=0;j<strNum.length;j++){
if(strNum[j] === "8") {
cnt++
}
}
}
console.log(cnt);
2015年05月06日 14:33
var cnt = 0;
var arr;
for(i=0;i<10000;i++) //만번동안
{
arr = i.toString().split('8'); //숫자를 문자로 바꾼다음 8을 기준으로 토막을 칩니다.
if(arr.length > 1){ //토막친 배열의 길이를 봅니다. 토막칠게 없으면 1입니다.
cnt = cnt + (arr.length - 1); //토막친다음 1 뺀 것이 8의 갯수이므로, cnt 변수에 담습니다.
}
}
alert(cnt);
javascript 소스를 그냥 올렸더니 바로 XSS 되버리네요. 게시판 올릴때 특수문자 이스케이핑 처리 해야할것 같아요
2016年11月11日 09:55
안녕하세요 처음 가입한 신참입니다. 숫자를 문자로 바꾸면 9876 => "9876" 되고 "9876" 은 [9],[8],[7],[6] 가 저장된 배열입니다. (자바스크립트에선 그렇습니다.) 각 숫자를 문자로 바꾼후 0부터 배열방 번호를 참조, 방의 내용이 "8"과 같으면 sumNum 을 1씩 올려 줍니다.
var sumNum = 0;
for (var i = 0; i < 10000; i++) {
var tmp =i.toString();
for(var j =0; j<tmp.length; j++){
if(tmp[j]=="8"){
sumNum++;
}
}
}
console.log(sumNum); // 결과로 4000 이 나옵니다.
2016年11月17日 18:20
[자바스크립트]
var i = 1;
var tmp = '';
var cnt = 0;
for(; i<=10000; i++) {
tmp = i + '';
for(var j=0; j<=tmp.length; j++){
if(tmp[j] == '8') {
cnt++;
}
}
}
console.log(cnt);
총 루프 수 : 48894
2017年02月06日 16:25
javascript(ES6)
// 1
var count = Array.from({length: 10000}, (v, k) => k + 1)
.join()
.split('')
.filter(n => n === "8")
.length;
console.log(count);
// 2
var count = Array.from({length: 10000}, (v, k) => k + 1)
.join()
.split("8")
.length - 1;
console.log(count);
2017年06月14日 10:27
풀이 작성