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

팩토리얼

💫문제 설명💫

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

💫제한사항💫

i! ≤ n
0 < n ≤ 3,628,800

💫입출력 ex💫

n result
3628800 10
7 3

문제풀이

class Solution {
    public int fac(int n) {   // 팩토리얼을 구해주는 메소드 (factorial)
        return (n<=1) ? n : fac(n-1) * n ;
    }
    public int solution(int n) {
        int answer = 0;
        
        for(int i=1; i<=10; i++) {
            if(fac(i) <= n) answer = i;
        }
        return answer;
    }
}

Categories:

Updated:

Leave a comment