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 answer = 0;
int i=1;
int li=1;
while(n>=li){
li=1;
i++;
for(int j=1; j<=i;j++){
li=li*j;
}
}
answer=i-1;
return answer;
}
}
while 문에서 for 문을 돌려서 팩토리얼 식을 만들고 n이 그 팩토리얼 보다 작을때까지 돌려주고
탈출 하게 되면 그 i 인덱스보다 1작은것을 구하면 된다.!
'자바 알고리즘 문제' 카테고리의 다른 글
| 문자열이 몇 번 등장하는지 세기 (0) | 2023.11.24 |
|---|---|
| 수열과 구간 쿼리 3 (1) | 2023.11.24 |
| 1로 만들기 (1) | 2023.11.22 |
| 2차원으로 만들기 (2) | 2023.11.21 |
| 문자열 뒤집기 (2) | 2023.11.21 |