반응형
백준: 10872번 팩토리얼 (Python3)
팩토리얼 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 256 MB | 119962 | 61873 | 51015 | 51.897% |
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1
10
예제 출력 1
3628800
예제 입력 2
0
예제 출력 2
1
힌트
recursion과 for loop의 효율은 비슷하다. 결론은 둘 다 안 좋다. 피할 수 있으면 피하자! 필요할 때에만 쓰자. For loop이 조금 더 낫지 않을까 기대했지만 O complexity는 같은가 보다.
답안 (For loop)
1
2
3
4
5
6
7
8
|
n=int(input())
fact=1
if n<=1:
print(1)
else:
for i in range(1,n+1):
fact=fact*i
print(fact)
|
cs |
답안 (Recursive)
1
2
3
4
5
6
7
|
def factorial(num):
if num==0 or num==1:
return 1
else:
return num*factorial(num-1)
print(factorial(int(input())))
|
cs |
반응형
'공부 > 코딩테스트' 카테고리의 다른 글
백준: 10951번 A+B - 4 (Python3) (0) | 2022.07.24 |
---|---|
백준: 10950번 A+B - 3 (Python3) (0) | 2022.07.24 |
백준: 10871번 X보다 작은 수 (Python3) (0) | 2022.07.24 |
백준: 10870번 피보나치 수 5 (Python3) (0) | 2022.07.24 |
백준: 10809번 알파벳 찾기 (Python3) (0) | 2022.07.24 |
댓글