반응형
(JAVA)
0. 문제 및 입출력 예제
문제
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다.
정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
제한사항
0 < n ≤ 3,628,800
입출력 예
입출력 예 #1
10! = 3,628,800입니다. n이 3628800이므로 최대 팩토리얼인 10을 return 합니다.
입출력 예 #2
3! = 6, 4! = 24입니다. n이 7이므로, 7 이하의 최대 팩토리얼인 3을 return 합니다.
1. 문제 분석
- 우선 제한사항에서 확인하면 n의 최대값이 3,628,800 이기 때문에 최대값은 10인 것을 알 수 있다.
-> 10! = 3628800
그래서 1부터 10으로 범위를 잡고 factorial 값을 구했다.
2. 방법
class Solution {
public int solution(int n) {
int answer = 0;
int factorial = 1;
for(int i = 1; i <= 10; i++){
factorial *= i;
if(factorial == n){
answer = i;
break;
}
else if(n < factorial){
answer = (i -1);
break;
}
}
return answer;
}
}
반응형
'알고리즘 > 프로그래머스:LV00' 카테고리의 다른 글
[LV00] 문자열 정렬하기(1) (0) | 2023.11.04 |
---|---|
[LV00] 모음 제거 (1) | 2023.11.02 |
[LV 00] 합성수 찾기 (0) | 2023.10.26 |
[LV00] 점의 위치 구하기 (0) | 2023.06.19 |
[LV00] 배열 회전시키기 (0) | 2023.06.19 |