728x90
최대 정수가 10이 나온다는 것에서 팩토리얼 10까지의 값을 미리 구해 둔 후, 이를 리스트에 담았다.
그리고 리스트를 순회하며 n보다 작다면 해당 인덱스를 활용해 n까지의 최대 팩토리얼을 구했다.
const f = (n) => n === 1 ? 1 : n * f(n-1)
function solution(n) {
return new Array(10).fill().map((v,i) => f(i+1)).reduce((acc,cur,idx) => cur <= n ? idx+1 : acc, 0)
}
728x90
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 중복된 문자 제거 (0) | 2023.02.10 |
---|---|
소인수분해 (0) | 2023.02.07 |
[JS] 합성수 찾기 (0) | 2023.02.04 |
[JS] 주사위의 개수 (0) | 2023.02.04 |
[JS] 배열 회전시키기 (0) | 2023.02.04 |