250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)피보나치 수 본문
728x90
반응형
피보나치 수열을 DP로 풀었다.
피보나치 수열에 관한 문제는 재귀, DP, 반복문을 사용하여 풀 수 있는데,
시간을 고려해야 하는 경우는 대부분 DP를 이용하면 풀 수 있다.
배열을 이용하여 F(n) = F(n - 1) + F(n - 2) 의 값을 저장한다.
반복문을 돌면서 계속해서 F(n - 1), F(n - 2)의 값을 가져오기 때문에
재귀보다 빠르게 풀 수 있다.
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
int num[100001] = {0, };
num[0] = 0;
num[1] = 1;
for(int i = 2; i <= n; i++)
{
num[i] = (num[i - 1] + num[i - 2]) % 1234567;
}
return num[n];
}
728x90
반응형
'프로그래머스 알고리즘 > 2단계' 카테고리의 다른 글
(프로그래머스 c++)최댓값과 최솟값 (0) | 2020.05.22 |
---|---|
(프로그래머스 c++)최솟값 만들기 (0) | 2020.05.21 |
(프로그래머스 c++)행렬의 곱셈 (0) | 2020.05.20 |
(프로그래머스 c++)JadenCase 문자열 만들기 (0) | 2020.05.20 |
(프로그래머스 c++)N개의 최소공배수 (0) | 2020.05.20 |