๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[์ธํ”„๋Ÿฐ/DP/2.๋Œ๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ]

์‹œํ๋ฆฌํ‹ฐ์ง€ํ˜ธ 2024. 3. 22.

<<ํ’€์ด>>

 

์ด ๋ฌธ์ œ๋Š” ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ์™€ ํฌ๊ฒŒ ๋‹ค๋ฅผ๊ฒŒ ์—†๋Š” ๋ฌธ์ œ์ด๋‹ค. 

 

๋‹ค๋งŒ, ์ƒํ™ฉ์ƒ ์–ด๋””๊นŒ์ง€ ๊ณ„์‚ฐํ•ด์•ผํ•˜๋Š”์ง€๊ฐ€ ์ค‘์š”ํ•œ ๊ฒƒ์ด๋‹ค.

 

7๋ฒˆ์งธ ๋Œ๊นŒ์ง€ ๊ฐ”๋‹ค๊ณ  ํ•ด์„œ ๋‹ค ๊ฑด๋„œ๋‹ค๋Š” ๊ฒƒ์€ ์ž˜๋ชป๋œ ์ƒ๊ฐ์ด๋‹ค.

 

๊ทธ ๋ถ€๋ถ„๋งŒ ์กฐ์‹ฌํ•œ๋‹ค๋ฉด dp ํ’€์ด ๋ฐฉ๋ฒ•์œผ๋กœ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•ด์„œ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

(์•„์ง๊นŒ์ง€ ์•ˆ ์ต์ˆ™ํ•˜๋‹ค๋Š” ๋œป์ด๊ฒŸ๋„ค ใ…‹ใ…‹ ) ํ™งํŒ…

import java.util.Scanner;

class Main {
    public static int[] dy;
    private int solution(int n) {
        dy[1] = 1;
        dy[2] = 2;
        for (int i = 3; i <= n+1 ; i++) {
            dy[i] = dy[i-1] + dy[i-2];
        }
        return dy[n+1];
    }



    public static void main(String[] args) {
        Main T = new Main();
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        dy = new int[n+2];
        System.out.println(T.solution(n));
    }
}

๋Œ“๊ธ€