Algorithm/inflearn

#계단오르기

마닐라 2021. 10. 9. 23:00

답을 직관적으로 알 수 있게 소형화하여 보텀업 방식으로 올라간다.

1번 계단으로 갈 수 있는 방법의 수는 1

2번 계단으로 갈 수 있는 방법의 수는 2

3번 계단으로 갈 수 있는 방법의 수는 1번에서 2계단 점프 or 2번에서 1계단 점프 1+2 = 3

 

1번 계단으로 갈 수 있는 방법에서 2계단 점프+2번 계단으로 갈 수 있는 방법에서 1계단 점프의 합

 

import java.util.*;
class Main{
    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));
    }
}

'Algorithm > inflearn' 카테고리의 다른 글

최대부분증가수열(LIS)  (0) 2021.10.09
돌다리 건너기  (0) 2021.10.09
원더랜드(크루스칼 : 최소 스패닝 트리)  (0) 2021.10.08
친구인가? (Disjoint-Set : Union&Find)  (0) 2021.10.08
다익스트라 알고리즘  (0) 2021.10.08