지나가던 개발자

[Python] 백준 10872번(팩토리얼) 문제 풀이 본문

PS/Python

[Python] 백준 10872번(팩토리얼) 문제 풀이

KwonYongHyeon 2021. 12. 4. 19:48

 

 팩토리얼! 간단한 수학계산 문제네요.

 

 다들 아시겠지만 팩토리얼(!)은 1부터 N까지의 곱을 말하는 겁니다. 그러니까 예를 들어서 10!은 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 = 3628800이 되는 것이죠.

 

 그래서 파이썬으로 코드를 짜보았습니다.

 

n = int(input())
a = 1
for i in range(1, n+1):
    a = a * i
print(a)

 

 

 생각보다 간단하네요. 뭔가 처음에 제 생각에는 10줄은 되겠다 생각했는데 짜고 보니까 이정도밖에 안됐습니다.

 

 팩토리얼할 수 n을 입력받은 후, n번동안 쭉 곱해주는 알고리즘이죠. 간단합니다.

 

 그리고 제출해봤더니,

 

 

 맞았네요.

 

 근데 사실 그냥 이런 문제라서 알고리즘 짤라고 저렇게 한거지 사실 파이썬에는 팩토리얼을 계산하는 훨씬 편한 방법이 있습니다.

 

 그냥 math 모듈을 import한 뒤에 factorial() 함수를 이용해주면 2줄만에 풀 수 있습니다. ㅋㅋ.

 

import math
print(math.factorial(int(input())))

 

 

 출력은 똑같이 됩니다.

 

 저는 개인적으로 파이썬 코딩 하면서 모듈 쓰는걸 좋아해서 팩토리얼 계산할 일이 생기면 math 모듈을 주로 쓰는데, 이 글을 보시는 여러분은 두 코드 혹은 여러분이 직접 짠 코드 어느 쪽이든 선택해서 코딩하시면 됩니다. 코드에는 정답이 없으니까요. 

Comments