I solved this challenge pretty quickly, but I did in a way that makes sense to me. I have started making a habit of looking at the suggested solutions. While sometimes my solutions are exactly correct, sometimes they’re very different.

In the case of “Factorialize a Number” challenge, the suggested solution is this:

```
function factorialize(num) {
if (num === 0) { return 1; }
return num * factorialize(num-1);
}
```

But this is not really a natural way for me to think about it.

My solution is this:

```
let i = 1;
while(num > 0) {
i *= num;
num--;
}
return i;
```

My solution makes more sense. What should I consider when determining the efficiency and/or performance? Why is the suggested solution better?