* 알고리즘 너무 약해서 기초 문제 50개 목표로 푸는 중...
* 3시간 안에 답을 내지 못하면 답지를 보고 30분 내로 정답 판정을 받고, 3일 뒤 다시 풀어보기
Greedy
5 / 50
탐색
5 / 50
기초 동적 프로그래밍
5 / 50(NEW!)
투포인터
0 / 10
1. 문제
2748번: 피보나치 수 2
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
→ solved.ac 기준 브론즈 1
2. 문제 해결 아이디어
주어진 점화식 그리고 피보나치 → dp
3. 구현
3.1. 내 풀이
<python />
import sys
input = sys.stdin.readline
n = int(input())
cache = [0 for _ in range(n + 1)]
cache[0] = 0
cache[1] = 1
for i in range(2, n + 1):
cache[i] = cache[i - 1] + cache[i - 2]
print(cache[n])
4. 메모
- 걸린 시간: 2분..?
'Algorithm' 카테고리의 다른 글
[알고리즘] BOJ 3273번 - 두 수의 합(python3) (0) | 2023.05.27 |
---|---|
[알고리즘] BOJ 11722번 - 가장 긴 감소하는 부분 수열(python3) (0) | 2023.05.27 |
[알고리즘] BOJ 2217번 - 로프(python3) (0) | 2023.05.25 |
[알고리즘] BOJ 7569번 - 토마토(python3) (0) | 2023.05.25 |
[알고리즘] BOJ 1389번 - 케빈 베이컨의 6단계 법칙(python3) (0) | 2023.05.25 |