[๋ฐฑ์ค] ๐ฅ 2748 ํผ๋ณด๋์น ์ 2
๐ ๋์ด๋
๐ฅ Bronze 1
๐ ๋ฌธ์ 
https://www.acmicpc.net/problem/2748

๐ ํ์ด
๋ฌธ์  ์์ฒด๋ ์ ๋ง ๊ฐ๋จํ๋ค.
์ฌ๊ท๋ฅผ ์ฌ์ฉํด์ ํ์ด๋ ๋๋ ๋ฌธ์ ์ด์ง๋ง, ์ด ๋ฌธ์ ๋ ํผ๋ณด๋์น2๋ผ ์๊ฐ์ ํ์ด 1์ด๋ฐ์ ์๋์ ์ฌ๊ท๊ฐ์ ์๊ฐ๋ณต์ก๋๊ฐ ๋์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ๋ฉด ์ ํ์๊ฐ์ ๊ฑธ๋ฆฌ๊ฒ๋๋ค.
๋ฐ๋ผ์ DP์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ์ฌ์ผ ์ ํ์๊ฐ๋ด์ ํ ์ ์๊ฒ๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ด Bottom-Up ๋ฐฉ์์ ์ฌ์ฉํ์๋ค.
๐ Code
package DP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class N2748 {
    public static long[] fibo;
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int count = Integer.parseInt(st.nextToken());
        fibo = new long[count+1];
        Arrays.fill(fibo, -1);
        fibo[0] = 0;
        if(count != 0) {
            fibo[1] = 1;
            for (int i = 2; i < count + 1; i++) {
                MakeFibo(i);
            }
        }
        System.out.println(fibo[count]);
    }
    public static void MakeFibo(int i){
        if(fibo[i]==-1) {
            fibo[i] = fibo[i - 1] + fibo[i - 2];
        }
    }
}
package (์ด๋ฆ); ๋ฅผ ๋๊ณ , class ์ด๋ฆ์ Main์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๊ฐ์ธ ๊ณต๋ถ ๊ธฐ๋ก์ฉ ๋ธ๋ก๊ทธ์
๋๋ค.
ํ๋ฆฌ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ ์ ๋ณดํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.๐