쌓고 쌓다
[프로그래머스] 피보나치 수 C++ 풀이 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12945#
전체 코드
#include <string>
#include <vector>
using namespace std;
int visit[100001];
int fibo(int n)
{
if(n==2)
return 1;
else if(visit[n]!=-1)
return visit[n];
return visit[n]=(fibo(n-1)+fibo(n-2))%1234567;
}
int solution(int n) {
int answer = 0;
fill(visit,visit+100000,-1);
visit[0]=0;
visit[1]=1;
answer=(fibo(n-1)+fibo(n-2))%1234567;
return answer;
}
visit를 통해 F(n)의 값을 저장하여
한번 계산된 F(n)의 값은 더이상 파고들지 않고 저장해둔 값을 반환해줍니다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 카펫 C++ 풀이 (0) | 2022.10.07 |
---|---|
[프로그래머스] 다음 큰 숫자 C++ 풀이 (0) | 2022.10.06 |
[프로그래머스] 숫자의 표현 C++ 풀이 (0) | 2022.09.30 |
[프로그래머스] 올바른 괄호 C++ 풀이 (0) | 2022.09.29 |
[프로그래머스] 최솟값 만들기 C++ 풀이 (0) | 2022.09.29 |
Comments