프로그래머스 팩토리얼[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;
}
}
Leave a comment