Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
Tags
- 서버 엔지니어
- level2
- 반복문
- java #예외처리 #throw #throws
- 이분탐색
- level3
- 백엔드 개발자 로드맵
- 25304번
- server engineer
- ndc2025
- 주니어 백엔드 개발자
- Spring
- 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
- java #추상클래스
- 2026 하반기 대기업 반드시 갑니다
- software enginner
- heap area #stack area #static area #jvm
- static #자바 메모리 구조 #멤버 변수
- AWS
- 넥슨개발자컨퍼런스
- aws SAA-c03
- 나는야 4학년 #5학년 까지 가보자구
- Next.js
- tibero 7.23
- server developer
- 자바 #자바문법 #자바기초 #참조형 #기본형
- 올 겨울은 조금 따뜻할 것 같다.
- tmax tibero
- object 클래스 # java
- 서버 개발자
Archives
- Today
- Total
개발자 쿠키
[백준(BOJ)]10872번 : 팩토리얼 - Python(파이썬) - (브론즈5, 재귀 알고리즘) 본문
✔코드
# [백준 10872번] - 팩토리얼 - (실버4, 스택)
def factorial(n: int) -> int:
"""양의 정수 n의 팩토리얼값을 재귀적으로 구함"""
if n == 0:
return 1
else:
return n * factorial(n-1)
if __name__ == '__main__':
n = int(input())
print(factorial(n))
✔문제접근
factorial(): n * factorial(n-1)의 값을 반환
✔문제풀이
n = 5 이면
factorial(5) = 5 * factorial(4), 즉 (5 * 4)
factorial(4) = 4 * factorial(3), 즉 (4 * 3)
factorial(3) = 3 * factorial(2), 즉 (3 * 2)
factorial(2) = 2 * factorial(1), 즉 (2 * 1)
factorial(1) = 1 * factorial(0), 즉 (1 * 1)
factorial(5) = 5 * 4 * 3 * 2 * 1 = 120
'Problem Solving' 카테고리의 다른 글
| [백준(BOJ)]17478번 : 재귀함수가 뭔가요? - Python(파이썬) - (실버5, 재귀 알고리즘) (0) | 2022.07.25 |
|---|---|
| [백준(BOJ)]10870번 : 피보나치 수 5 - Python(파이썬) - (브론즈5, 재귀 알고리즘) (0) | 2022.07.25 |
| [백준(BOJ)]12605번 : 단어순서 뒤집기 - Python(파이썬) - (브론즈1, 스택(Stack)) (0) | 2022.07.25 |
| [백준(BOJ)]17608번 : 막대기 - Python(파이썬) - (브론즈2, 스택(Stack)) (0) | 2022.07.24 |
| [백준(BOJ)]9012번 : 괄호 - Python(파이썬) - (실버4, 스택(Stack)) (0) | 2022.07.24 |