happy coding
[level 0] 팩토리얼 본문
문제 설명
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
- i! ≤ n
제한사항
- 0 < n ≤ 3,628,800
기존 메소드 말고 직접 만들어 사용하고 싶었다.
어차피 10까지라고 제한 사항이 걸려 있어서 ans=10으로 고정하고 하나씩 뺐다.
def solution(n):
ans = 10
while n < factorial_for(ans):
ans -= 1
return ans
def factorial_for(n):
ret = 1
for i in range(1,n+1):
ret *= i
return ret
다른 풀이
def solution(n):
divider=0
while 1:
divider+=1
if n/divider < 1:
break
else:
n/=divider
return divider-1
def solution(n):
base = 1
m = 1
while base <= n:
m += 1
base *= m
return m-1
'coding study > programmars' 카테고리의 다른 글
[level 0] 7의 개수 (0) | 2024.06.01 |
---|---|
[level 0] 직사각형 넓이 구하기 (0) | 2024.06.01 |
[level 0] 모스 부호 (0) | 2024.06.01 |
[level 0] 피자 나눠 먹기(2) (0) | 2024.06.01 |
[level 0] 합성수 찾기 (0) | 2024.06.01 |
Comments