팩토리얼

seheeee_97·2023년 11월 2일

회고팀

목록 보기
6/41

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

  • i! ≤ n
class Solution {
    public int solution(int n) {
        int i = 1;
        int fac = 1;	// 팩토리얼 결과값을 담을 변수
        
        while(fac <= n){	//팩토리얼 값이 주어진 정수 n보다 크면 while문 종료
            i++;
            fac *= i;	// fac = fac * i; 팩토리얼 계산
        }
        
        return i - 1;	// while문이 팩토리얼 값이 n보다 커야 종료되기 때문에 한번 더 실행돼서 i에서 1을 빼줘야 함
    }
}












class Solution {
    public int solution(int n) {
        int answer = 1;
        
        for(int i=1; i<=10; i++){
            answer *= i;
        
            if(answer == n){
                answer = i;
                break;
            }
            else if(answer >= n){
                answer = i-1;
                break;
            }
        }
        return answer;
    }
}

0개의 댓글