728x90
https://school.programmers.co.kr/learn/courses/30/lessons/120848
문제)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 x = 1;
int s = 1;
int answer = 0;
while(s<=(n)){
s *= x++;
}
int aa = 0;
int bb = 0;
for(int i=1; i<=x-1; i++){
aa *= i;
}
for(int i=1; i<x-2; i++){
bb *=i;
}
if(n-aa<n-bb){
answer = x-1;
}else{
answer = x-2;
}
return answer;
}
}
728x90
'프로그래밍 > Java(자바)' 카테고리의 다른 글
[프로그래머스] 컨트롤 제트 --java (0) | 2024.03.26 |
---|---|
[프로그래머스] 숨어있는 숫자의 덧셈(2) --java (0) | 2024.03.25 |
[프로그래머스] 구슬을 나누는 경우의 수 --java (1) | 2024.03.23 |
[SW Expert Academy] 1928. Base64 Decoder --java (0) | 2024.03.21 |
[프로그래머스] 진료순서 정하기 --java (0) | 2024.03.21 |