ํผ๋ณด๋์น ์ - Bottom-Up/Top-Down (Lv. 2)
1. ๋ฌธ์
2. ํ์ด
1. ๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
2. ํ์ด
- Bottom-Up
class Solution {
public int solution(int n) {
if (n == 1 || n == 2) {
return 1;
}
int[] fib = new int[n + 1];
fib[1] = 1;
fib[2] = 1;
for (int i = 3; i <= n; i++) {
fib[i] = (fib[i - 1] + fib[i - 2]) % 1234567;
}
return fib[n];
}
}
๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๊ณ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ์์ผ๋ก, ํ ์ด๋ธ์ ์ฑ์๊ฐ๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- Top-Down
class Solution {
private int[] fib = new int[100001];
public int solution(int n) {
if (n == 1 || n == 2) {
return 1;
}
if (fib[n] != 0) {
return fib[n];
}
fib[n] = (solution(n - 1) + solution(n - 2)) % 1234567;
return fib[n];
}
}
๋ฉ๋ชจ์ด์ ์ด์ ์ผ๋ก ์ค๋ณต ๊ณ์ฐ์ ๋ฐฉ์งํฉ๋๋ค.
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ !
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค <3