Javascript

[javascript] 프로그래머스 - 팩토리얼

jojv 2023. 6. 17. 14:51
728x90
반응형

📕문제 설명

 i 팩토리얼(i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 x 4 x 3 x 2 x 1 =120입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 수 i를 return 하도록 solution 함수를 완성해주세요.

 

📗제한사항

  • 0 < n ≤ 3,628,800

 

📘입출력 예와 설명

n result 설명
3628800 10 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.
7 3 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.

 

📙풀이

function solution(n) {
    let cnt = 1;
    for(let i=1; i<=n; i++){
        cnt *= i
        if(cnt === n){
            return i
        }
        if(cnt > n){
            return i-1
        }   
    }
}

for  반복문을 사용해서 1부터 n까지 숫자를 곱해주면서 팩토리얼의 값을 구하고, 팩토리얼의 값이 n과 같을 때는 i를 반환하고, n보다 클때는 i-1를 반환하는 조건을 추가해서 최대 팩토리얼 값을 구하였습니다!!

728x90