์ฝ๋
public class Soltion {
// ์ฌ๊ท ๋ธ๋ฃจํธํฌ์ค
// public int fib(int n) {
// if (n <= 1) {
// return n;
// } else {
// return fib(n - 1) + fib(n - 2);
// }
// }
// ๋ฉ๋ชจ์ด์ ์ด์
// int[] dp = new int[31];
// public int fib(int n) {
// if (n <= 1) {
// return n;
// }
//
// // ๋ฏธ๋ฆฌ ๊ณ์ฐํด์ dp์ ๋ฃ์ด๋๊ณ ๋ฐ๋ก ๊ฐ์ ธ์ด
// if (dp[n] != 0) {
// return dp[n];
// }
//
// dp[n] = fib(n - 1) + fib(n - 2);
// return dp[n];
// }
// ํ๋ทธ๋ ์ด์
// public int fib(int n) {
// int[] dp = new int[31];
//
// // ์๋ ๊ฑ if (n <= 1) ๊ฐ ๋ฏธ๋ฆฌ ์ง์ ํด๋๊ณ , 2๋ถํฐ for๋๋ ค์ ํ๊ธฐ.
// dp[0] = 0;
// dp[1] = 1;
//
// for (int i = 2; i <= n; i++) {
// dp[i] = dp[i - 1] + dp[i - 2];
// }
// return dp[n];
// }
// ๋ณ์ 2๊ฐ๋ก
public int fib(int n) {
int x = 0, y = 1;
for (int i = 0; i < n; i++) {
int z = x + y;
x = y;
y = z;
}
return x;
}
}
Java
๋ณต์ฌ
๋ฌธ์ ํด๊ฒฐ ์์ด๋์ด
์ฌ๊ท์ DP๋ฅผ ํ์ฉํด ๋ค์ํ ๋ฐฉ์์ผ๋ก ํ์ด๊ฐ๋ฅ. DP ๋ฉ๋ชจ์ด์ ์ด์
์ ํตํด ์ต์ ํจ์จ์ฑ์ผ๋ก ํ์ด ๊ฐ๋ฅ