1. quiz
- i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
2. answer
import math
box = []
def solution(n):
for i in range(1,11):
answer = math.factorial(i)
box.append(answer)
if box[i-2] < n < box[i-1]:
return i-1
elif box[i-2] <= n <= box[i-1]:
return i
3. 다른 사람의 풀이
from math import factorial
def solution(n):
k = 10
while n < factorial(k):
k -= 1
return k
import math
def solution(n):
answer = 0
for i in range(1, 12):
if n < math.factorial(i):
return i - 1
return answer
- 위의 코드들을 참고하여 나의 기존 코드를 더 간단히 수정하면 다음과 같다.
import math
def solution(n):
for i in range(1,12):
if n < math.factorial(i):
return i-1
- 간단히 1~11까지 숫자들의 factorial를 구해서, n보다 큰 i의 i-1 값을 구한다.