Blog

팩토리얼

문제 #

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

  • i! ≤ n
  • 제한사항
    • 0 < n ≤ 3,628,800
  • 입출력 예
    n result
    3628800 10
    7 3

나의 풀이 #

class Solution {
    public int solution(int n) {
        int answer = 0;
        for (int i = 0; fact(i)<=n; i++){answer = i;}
        
        return answer;
    }
    
    public static int fact(int num) {
        if (num <= 1)
            return num;
        else
            return fact(num-1)*num;
    }
    
}

다른 사람의 풀이 #

//다른 사람의 풀이중 참조할 코드를 적는다.

관련개념 학습 #

  • 재귀함수를 이용하여 팩토리얼을 구현하였다.
  • ctrl + p로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.
  • 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.