본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 팩토리얼

728x90

📚문제

출처 : 프로그래머스 / 팩토리얼(https://school.programmers.co.kr/learn/courses/30/lessons/120848)

 

📝풀이

def solution(n):
    
    x = 10
    
    while True:
        cnt = 1
    
        for i in range(1,x+1):
            cnt *= i
        if cnt <= n:
            return x
            break
        else:
            x -= 1

 

처음에 n의 제한이 없다고 생각하고 이걸 도대체 어떻게 풀지...? 생각했는데

제한사항에서 n이 10!(3,628,800)보다는 작다는 조건이 주어져있었다

그러면 x를 10부터 설정하여(max 팩토리얼 값) 1씩 내려가면서 n과 x!을 비교하면 되는 문제다

728x90