💬 문제 설명
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
- i! ≤ n
🚫 제한 사항
- 0 < n ≤ 3,628,800
📢 입출력 예

👨🏫 입출력 예 설명

📃 제출 코드
class Solution {
public int solution(int n) {
int answer = 0;
while(true) {
if (n < factorial(answer)) break;
answer++;
}
return answer - 1;
}
public int factorial(int num) {
if (1 >= num) return 1;
return num * factorial(num - 1);
}
}
✏ 해결방법 & 배운점
팩토리얼의 값이 n보다 커질때까지 `answer` 를 하나씩 증가시키면서 가장 큰값을 찾는 방식으로 문제를 해결하였습니다.
'PS > 프로그래머스 입문 100제' 카테고리의 다른 글
| [프로그래머스] LV.0 A로 B 만들기 - 자바 [65/100] (0) | 2024.06.26 |
|---|---|
| [프로그래머스] LV.0 숨어있는 숫자의 덧셈 (2) - 자바 [64/100] (0) | 2024.06.26 |
| [프로그래머스] LV.0 모스부호 (1) - 자바 [62/100] (0) | 2024.06.26 |
| [프로그래머스] LV.0 2차원으로 만들기 - 자바 [61/100] (0) | 2024.06.26 |
| [프로그래머스] LV.0 중복된 문자 제거- 자바 [60/100] (0) | 2024.06.25 |
