jyamethyst21 님의 블로그

백준 10872번- '팩토리얼' (PYTHON 풀이) 본문

CODING 💻

백준 10872번- '팩토리얼' (PYTHON 풀이)

jyamethyst21 2025. 10. 3. 03:21

문제:

 

비슷한 문제를 이전에 풀었던 것 같은데, 이번 문제는 팩토리얼이다.

3!을 하게 되면 3*2*1 의 값을 출력하는 중고등학생때 배웠던 그 팩토리얼 맞다.

 

풀이:

N = int(input())

def fact(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n*fact(n-1)
    
print(fact(N))

math 라이브러리 임포트하면 더 간단하게 풀 수 있을텐데 좀 더 길게 함수 형태로 작성하였다.

0과 1일 때는 무조건 1을 출력해야하니 이를 조건으로 주고 그 값이 아니라면 재귀함수 형태로 함수를 만들어서 제출하였다. n-1이 1이 되는 순간 1을 리턴해줄테니 결국 n*n-1*...*1 형태가 되어 팩토리얼이 구현된다.