반응형
250x250
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 |
Tags
- DB
- 학점은행제
- 의사결정나무모형
- Homebrew
- 렌탈스튜디오창업
- fastapi
- jdk
- 채널계
- union
- 컴퓨터공학학사취득
- 개인프로필스튜디오창업
- 맥북셋팅
- 맥북환경설정
- 계정계
- 학점은행제무료강의
- Pass By Value
- 오라클
- python
- 맥북
- jdk17
- MSA
- 프로그래머스
- SQL
- 디렉토리계층구조
- 모놀리식
- oracleapex
- it자격증
- 코딩테스트
- 은행IT
- 코어뱅킹
Archives
- Today
- Total
개발머해니
[파이썬] 피보나치 수열 (2) tabulation로 구현 - 다이나믹 프로그래밍 ★ 본문
728x90
반응형
실습 설명
n번째 피보나치 수를 찾아주는 함수 fib_tab을 작성해 보세요.
fib_tab는 꼭 tabulation 방식으로 구현하셔야 합니다!
실습 결과
def fib_tab(n):
# 이미 계산된 fib 값들을 담는 리스트
fib_table = [0, 1, 1]
# n번째 피보나치 수까지 리스트를 하나씩 채워 나간다
for i in range(3, n+1):
#print("[%d] fib_table : %s" %(i,fib_table))
fib_table.append(fib_table[i-1]+fib_table[i-2])
return fib_table[n]
# 테스트 코드
print(fib_tab(10))
print(fib_tab(56))
print(fib_tab(132))
#[3] fib_table : [0, 1, 1]
#[4] fib_table : [0, 1, 1, 2]
#[5] fib_table : [0, 1, 1, 2, 3]
#[6] fib_table : [0, 1, 1, 2, 3, 5]
#[7] fib_table : [0, 1, 1, 2, 3, 5, 8]
#[8] fib_table : [0, 1, 1, 2, 3, 5, 8, 13]
#[9] fib_table : [0, 1, 1, 2, 3, 5, 8, 13, 21]
#[10] fib_table : [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
55
225851433717
1725375039079340637797070384
포인트
- Dynamic Programming : 중복된 과정은 1번만 진행하도록 하는 알고리즘 패러다임
- memorization : 재귀
- tabulation : 단순 반복문
728x90
반응형
'알고리즘' 카테고리의 다른 글
[파이썬] 새꼼달꼼 장사 (1) Memoization - 다이나믹 프로그래밍 ★ (0) | 2023.09.19 |
---|---|
[파이썬] 피보나치 수열 (3) 공간 최적화 - 다이나믹 프로그래밍 ★ (0) | 2023.09.18 |
[파이썬] 피보나치 수열 (1) memoization로 구현 - 다이나믹 프로그래밍 ★ (0) | 2023.09.18 |
[파이썬] 퀵정렬 (3) 퀵 정렬 더 멋있게 구현하기 - 분할정복 ★ (0) | 2023.09.18 |
[파이썬] 퀵정렬 (2) quicksort 함수 - 분할정복 ★ (0) | 2023.09.17 |