학습일기 43 23.10.25

이건구·2023년 10월 25일
0

프로그래머스 자바 문제풀이

팩토리얼

class Solution {
    public int solution(int n) {
        int answer = 0;
        int k = 1;
        for (int i = 1; k <= n; i++) {
            k *= i;
            if (k <= n) {
                answer = i;
            }
        }
        return answer;
    }
}

n보다 작은 팩토리얼값을 가진 정수를 구하는문제이다.

1의 값을가진 정수 k를 만들어주고 반복문의 범위를 n보다 작게 해서 1부터 커지는 반복문을 만든다.

그리고 k에 i를 계속곱한다. 그러면서 answer에 k의 값이 n보다 작을때마다 i를 담아주는데, k의 값이 n보다 커질때 즉 반복문이 종료될때는 answer의 값이 k가 n보다 작거나 같을때의 i값이므로 정답이 나온다.

0개의 댓글