나의 풀이
class Solution {
public int solution(int n) {
int k = 10;
while(n < factorial(k))
k -= 1;
return k;
}
public int factorial (int num) {
if (num == 1)
return 1;
return num * factorial ( num - 1 );
}
}
▶ 재귀함수를 이용하여 팩토리얼을 구현하였다.
다른 사람의 풀이
class Solution {
public int solution(int n) {
int fac = 1;
int i = 0;
while(true){
if(fac <= n){
fac *= i + 1;
i++;
}else break;
}
return i-1;
}
}
▶ 축약 연산자를 이용해서 팩토리얼을 구현할 수 있다.
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
특이한 정렬★★★ sorted(), compareTo(), compare(A, B) (0) | 2022.11.26 |
---|---|
가까운 수 → "특이한 정렬"과 유사 + abs(n-array[i]) 갱신논리 (0) | 2022.11.25 |
2차원으로 만들기→이중for문★, %연산자★ 2차원배열 (0) | 2022.11.25 |
k의 개수 - IntStream을 Stream<String>으로 변환, 문자열 슬라이싱★★ (0) | 2022.11.25 |
A로 B만들기 → steam을 이용한 문자열정렬★ (0) | 2022.11.25 |