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 값을 구한다.
profile
To be a changer who can overturn world

0개의 댓글