Algorithms
Find Digits
seoca
2020. 9. 13. 11:30
Solution I in Javascript
function solve(n) {
//toString: number to string
// 1012
//split: split("")는 string split into an array of substrings
//하나하니의 element로 나누기 위해서 기준을 빈칸이없는 ''로 잡는다
// [1,0,1,2]
//filter: 전체 element중 조건을 통과한 element로 new array 만든다
return n.toString().split('').filter(i => n % i === 0).length
}
console.log(solve(1012)); //3
Solution II in Javascript
function solve(n) {
let strArray = (n + "").split('');
//1. javascript 형변 문자열 + 숫자 = 문자열 이 된다. toString사용과 같음
//2. split사용이유: string을 character마다 나누어서 array로 return. [1,0,1,2]가 아닌 [1012]니까.
//[ '1', '0', '1', '2' ]
let numArr = []; //array선언.
for (let i = 0; i < strArray.length; i++) { //string loop
let num = strArray[i] * 1; //Javascript의 형변환 string to number
// 1 0 1 2
if (n % num === 0) {
numArr.push(num)
}
}
console.log(numArr.length); //3
}
solve([1012]);
// to derive each number in an array
// 1. number to string conversion
// 2. make 1 to array
// 3. string to number conversion
Reference