-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdigitPerkalianMinimum.js
28 lines (26 loc) · 1.01 KB
/
digitPerkalianMinimum.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
Problem
Diberikan sebuah function digitPerkalianMinimum(angka) yang menerima satu parameter angka. Function akan mengembalikan jumlah digit minimal dari angka yang merupakan faktor angka parameter tersebut, Contoh, jika angka adalah 24, maka faktornya adalah 1 * 24, 2 * 12, 3 * 8, dan 4 * 6. Dari antara faktor tersebut, yang digit nya paling sedikit adalah 3 * 8 atau 4 * 6, sehingga function akan me-return 2.
*/
function digitPerkalianMinimum(angka) {
var temp = [];
for (var i = 0; i <= angka; i++){
if (angka % i === 0) {
temp.push(String(i)+String(angka/i))
}
}
var counter = [];
for (var j = 0; j < temp.length; j++){
counter.push(temp[j].length)
}
counter.sort(function (a, b) {
return a > b
})
return counter[0]
}
// TEST CASES
console.log(digitPerkalianMinimum(24)); // 2
console.log(digitPerkalianMinimum(90)); // 3
console.log(digitPerkalianMinimum(20)); // 2
console.log(digitPerkalianMinimum(179)); // 4
console.log(digitPerkalianMinimum(1)); // 2