반응형
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
- 스프링 시스템 구조
- 프로그래머스 가위바위보
- BigO notation
- 알고리즘
- 공선옥
- 프레젠테이션 레이어
- 가위바위보 풀이
- 비지니스 레이어
- 개발자 취준
- 프로그래머스 배열의 유사도 파이썬
- 파이썬 컬렉션
- 프로그래머스 배열 회전시키기
- 프로그래머스
- programmers 배열 회전
- 리트허브 사용법
- 주니어개발자
- 2-layered architecture
- 춥고 더운 우리 집
- collection python
- 파이썬 특정 문자 제거하기
- 프로그래머스 특정 문자 제거하기
- 특정문자 제거하기
- 프로그래머스 가위바위보 풀이
- 춥고더운우리집
- leftJoin
- 슈츠 자막
- Programmers 배열의 유사도
- 배열의 유사도 파이썬
- 리트허브 커밋
- 리트허브 오류
Archives
- Today
- Total
기억보다 기록을
[Python] factorial 구현 : recursive, iterative, math library 사용별 예시와 관련문제 풀이 본문
Language/Python
[Python] factorial 구현 : recursive, iterative, math library 사용별 예시와 관련문제 풀이
juyeong 2023. 2. 2. 20:06반응형
팩토리얼을 파이썬에서 구현하는 3가지 방법을 정리합니다.
우선 팩토리얼이란,
팩토리얼: 1 x 2 x 3 x ... x (n-1) x n
예제: 5!
=> 5 x 4 x 3 x 2 x 1 = 120.
1. iterative 반복적 구현
def factorial_iterative(n):
result = 1
# 1부터 n까지의 수를 차례로 곱함
for i in range(1, n+1):
result *= i
return result
2. recursive 재귀적 구현 (재귀함수 사용이 코드면에서 간결함)
def factorial_recursive(n):
# n이 1 이하인 경우 1을 반환
if n <= 1:
return 1
return n * factorial_recursive(n-1)
3. math library 의 factorial 사용
from math import factorial
관련 문제
1. 라이브러리 사용
프로그래머스의 팩토리얼 (https://school.programmers.co.kr/learn/courses/30/lessons/120848)
: 정확하게는 팩토리얼 구현 문제가 아니고, 팩토리얼 개념을 이용해야함.
math 라이브러리를 사용하지 않은 답안
def solution(n):
factorial = 1
i = 1
while factorial <= n:
i += 1
factorial *= i
return i - 1
math 라이브러리 사용한 답안. 위와 거의 동일하지만 확실히 간결함.
from math import factorial
def solution2(n):
i = 1
while factorial(i) <= n:
i += 1
return i - 1
2. 재귀함수 이용
이건 bfs 문제를 가져와야하는데, 추가로 포스팅하여 연결링크를 달아둘 예정.
반응형
'Language > Python' 카테고리의 다른 글
[Python] collection deque (개념, 알고리즘 적용 예시) (0) | 2023.01.15 |
---|---|
[Python] 6088,6089: 수 나열하기 (등차수열, 등비수열) (0) | 2022.02.19 |
[Python] 6084: 소리 파일 저장용량 계산하기(round()) (0) | 2022.02.17 |
[Python] range 함수 (0) | 2022.02.14 |