반응형
계단오르기
import java.util.*;
class Main{
// Dynamic Programming(동적계획법)
// 큰문제를 한 번에 못 풀기 때문에 작은 단위로 쪼갠다.
static int[] dy;
public int solution(int n){
// 직관적으로 초기화
dy[1]=1;
dy[2]=2;
for(int i=3; i<=n; i++) dy[i]=dy[i-2]+dy[i-1];
return dy[n];
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
dy=new int[n+1];
System.out.print(T.solution(n));
}
}
반응형
'CS 기초 > 알고리즘 · 문제풀이' 카테고리의 다른 글
[JAVA] Greedy Algorithm - 결혼식 (0) | 2022.05.05 |
---|---|
[JAVA] DFS, BFS 활용 - 동전 교환 (0) | 2022.05.04 |
Greedy Algorithm - 씨름 선수 (0) | 2022.03.20 |
Sorting and Searching(정렬, 이분검색과 결정알고리즘) - 선택 정렬 / 버블 정렬 / 삽입 정렬 / 좌표 정렬 (0) | 2022.03.19 |
Two pointers, Sliding window[효율성 : O(n^2)-->O(n)] - 최대 매출 (Sliding Window) (0) | 2022.03.19 |