[프로그래머스] 팩토리얼 (Java)
2022. 12. 20. 11:32ㆍ프로그래머스
반응형
문제 설명
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 |
입출력 예 설명
입출력 예 #1
- 10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.
입출력 예 #2
- 3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.
풀이
class Solution {
//팩토리얼(Factorial) 구하는 함수
public int factorial(int n) {
return (n <= 1) ? n : factorial(n - 1) * n;
}
public int solution(int n) {
int answer = 0;
//n의 제한사항 3,628,800은 10!이므로 1부터 10까지의 팩토리얼을 기준으로 최대 팩토리얼을 찾는 반복문
for(int i = 1; i <= 10; i++) {
if (factorial(i) <= n) {
answer = i;
}
}
return answer; //최대 팩토리얼 return
}
}
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 컨트롤 제트 (Java) (0) | 2023.01.04 |
---|---|
[프로그래머스] 소인수분해 (Java) (0) | 2023.01.04 |
[프로그래머스] 합성수 찾기 (Java) (0) | 2022.12.19 |
[프로그래머스] 공 던지기 (Java) (0) | 2022.12.19 |
[프로그래머스] 2차원으로 만들기 (Java) (0) | 2022.12.15 |