# 문제 해석
인자로 들어온 숫자 예) 1245
각 자릿수 별 숫자 빈도수 -
> 0: 0개, 1: 1개, 2: 1개, 3: 0개, 4: 1개, 5: 1개 ... 9: 0개
위처럼 자리별 숫자의 빈도수를 배열로 반환하는데 없는 수도 포함해야 한다.
> 1245 결과 : [0, 1, 1, 0, 1, 1, 0, 0, 0, 0]가 된다.
# 해결책
+ 각 자리수에 있는 수를 알아내기
+ 인덱스와 해당 인덱스가 의미하는 값이 일치 [0, 1, 2 ...] 하니까
인덱스를 이용해서 바로 배열에 저장 가능
function answer(s, e) {
let result = [];
for(let i = 0; i < 10; i++){
result[i] = 0;
}
let num;
for( let i = s; i <= e; i++){
num = i;
while(num != 0){
result[num % 10]++;
num /= 10;
num = parseInt(s)
}
}
return result;
}
let input = [
[129, 137],
[1412, 1918],
[4159, 9182],
];
for (let i = 0; i < input.length; i++) {
process.stdout.write(`#${i + 1} `);
console.log(answer(input[i][0], input[i][1]));
}
# 중요 부분 해설
for(let i = 0; i < 10; i++){
result[i] = 0;
}
let num;
for( let i = s; i <= e; i++){
num = i;
while( num != 0){
result[s%10]++;
s /= 10;
s = parseInt(s)
}
}