FrontEnd/프로그래머스

[JS] 팩토리얼

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