본문 바로가기

Algorithm/Programmers

(JS) [Programmers - 팩토리얼] - 2023. 2.18.(토)

문제 

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

  • i! ≤ n

제한사항

  • 0 < n ≤ 3,628,800

Solution.js

function solution(n) {
    let answer = 1, i = 1;
    while(true) {
        answer *= i;
        
        if(answer === n) {
            return i;
        }
        if(answer > n){
            return i - 1;
        }
        i++;
    }
}

 

 

출처 : 프로그래머스 코딩테스트 연습, https://school.programmers.co.kr/learn/courses/30/lessons/120848