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
- 기초
- NoSQL
- 코딩테스트
- database
- 탐색알고리즘
- mongoDB
- 백준
- 코딩문제
- Algorithm
- 그래프
- chatGPT
- 몽고DB
- 파이썬
- 알고리즘
- 소수
- 데이터
- 마크다운문법
- 수열
- Markdown
- httpCode
- db
- Python
- 인프콘2024
- 알고리즘기초
- 수학
- 데이터베이스
- 코테
- 그리디알고리즘
- 마크다운
- 그리디
Archives
- Today
- Total
Dev_from the Bottom
#46. Algorithm36_python) 피보나치 수5_백준 10870 본문
문제) 피보나치 수 5
- 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.
- 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다.
- n=17일때 까지 피보나치 수를 써보면 다음과 같다.
- 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597
- n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.
입력)
- 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다.
출력)
- 첫째 줄에 n번째 피보나치 수를 출력한다.
문제 링크) https://www.acmicpc.net/problem/10870
Step1) 성공1
- '#11. Algorithm07_python) 피보나치 수열의 합' 참조 : https://rubberramen.tistory.com/13
def fibo2(n_input):
a0 = 0
a1 = 1
n = 2
if n_input <= 1:
return n_input
while(n <= n_input):
answer = a0 + a1
a0 = a1
a1 = answer
n += 1
return answer
n_input = int(input())
print(fibo2(n_input))
>>>
10
55
Step2) 성공2 : 재귀 함수 활용
def fibo3(n):
if n <= 1:
return n
return fibo3(n-2) + fibo3(n-1)
n = int(input())
print(fibo3(n))
>>>
10
55
Step3) 성공 : 리스트 + for문 활용
n = int(input())
fibo_list = [0, 1]
for i in range(2, n+1):
num = fibo_list[i-1] + fibo_list[i-2]
fibo_list.append(num)
print(fibo_list[n])
>>>
10
55
# 배운 점
- 기존 피보나치 수열 리마인드
- 재귀 함수 활용
- 리스트 + for문 활용
# 소회
- 복잡한 형태의 재귀 함수를 더 공부해야 할 것 같음
- ex) 백준2447 별찍기-10. <-- 풀다가 실패했고, 정답 코드 봐도 100% 이해하지 못했음
'Algorithm_study' 카테고리의 다른 글
#49. Algorithm49_python) 그리디 문제1_큰 수의 법칙 (0) | 2022.06.21 |
---|---|
#48. Algorithm38_python) 그리디 개념 및 예제 (0) | 2022.06.19 |
#45. Algorithm35_python) BFS(너비 우선 탐색) : Breadth-First-Search (0) | 2022.06.15 |
#44. Algorithm34_python) DFS(깊이 우선 탐색) : Depth-First-Search (0) | 2022.06.14 |
#43. Algorithm33_python) 그래프(Graph)의 기본 구조 (0) | 2022.06.14 |
Comments