인프런 - it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 강의를 바탕으로 공부한 내용입니다.
풀이
- 네트워크 선 자르기와 같은 방식으로 풀면 되는 문제
- 점화식을 구하면 f(n)=f(n-2)+f(n-1)
- 메모이제이션을 통해 하나씩 값을 기록해 가며 DFS함수를 사용한다
#include <stdio.h>
#include <algorithm>
int arr[101], n;
int DFS(int L){
if(arr[L]>0) return arr[L];
if(L==1 || L==2){
return L;
}else{
return arr[L]=DFS(L-2)+DFS(L-1);
}
}
int main(){
scanf("%d", &n);
printf("%d\n", DFS(n));
return 0;
}
'알고리즘' 카테고리의 다른 글
프로그래머스 - 직사각형 별찍기(C++) (0) | 2021.05.05 |
---|---|
최대 부분 증가 수열 [DP] (0) | 2021.04.12 |
네트워크 선 자르기 [DP] (0) | 2021.03.29 |
90. 라이온킹 심바[BFS] (0) | 2021.03.24 |
89. 토마토 [BFS] (0) | 2021.03.22 |