ํผ๋ณด๋์น์์ด์
0, 1, 1, 2, 3, 5 ,8...
์ด๋ฐ ์์๋ก ์์ ์์ ๋ค์ ์๊ฐ ์๋ก ๋ํ ๊ฐ์ ์์ด ํํ๋ก ๋ํ๋ธ ๊ฒ. (Fn = Fn-1 + fn-2)
ํผ๋ณด๋์น์์ด์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ์ ์ผ๋ก ์ฌ๊ท ํจ์์ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๋ค์ด ์๋ค.
์ฐ์ ์ฌ๊ทํจ์๋ก ํผ๋ณด๋์น์์ด์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ
int fibo(int n){
if( n <= 0 )
return 0;
else if( n == 1 )
return 1;
else
return fibo( n - 1 ) + fibo( n - 2 );
}
์ด๋ ๊ฒ ๊ตฌํํ ์ ์๋ค.
ํ์ง๋ง ์ฌ๊ทํจ์๋ก ๊ตฌํํ๋ฉด ๋ฐ๋ณต๋ฌธ ๋ฐฉ์๋ณด๋ค ์ค๋ฒํค๋๊ฐ ์ฌํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์๊ธฐ๊ฒ ๋๋ค.
์์ ๋จ์ ์ ๊ทน๋ณตํ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์๋์ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค.
def solution(n):
fibo = [0, 1, 1]
for i in range(3, n + 1):
fibo.append( ( fibo[i-1] + fibo[i-2] ) )
return fibo[-1]
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
vector<int> fibo = {0, 1, 1};
for(int i=3; i<=n; i++ )
fibo.push_back( ( fibo[i-1] + fibo[i-2] ) );
return fibo.back();
}
์ฌ๊ท ํจ์ ๋ฐฉ์๊ณผ ๋ฐ๋ณต๋ฌธ ๋ฐฉ์์ ์๋ก ๋น๊ต๋ฅผ ํด๋ณด์๋๋ฐ
์ฌ๊ท ํจ์๊ฐ ํผ๋ณด๋์น์์ด์ 10๋ฒ์งธ ์๋ฆฌ๊น์ง ๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ด ๋ฐ๋ณต๋ฌธ์ ๋ฌด๋ ค 100๋ฒ์งธ ์๋ฆฌ๊น์ง ๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฉ๋๊ณผ ๋๊ฐ์ด ๋์๋ค.
'๐๊ณต๋ถ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๊ณ ๋ฆฌ์ฆ - ํ์ผ 1ํ ์ต๋ ์ ๋ก๋ ์ ํ ํ์ ๋ถํ ํด์ ๋ณด๋ด๊ธฐ (0) | 2023.08.17 |
---|---|
์๊ณ ๋ฆฌ์ฆ - ์ฐ์์ ์ธ ์์ด์ธ์ง ํ์ธํ๊ธฐ (0) | 2023.08.15 |
์ ๋ ฌ - ํ(heap) ์ ๋ ฌ ๋น์ฃผ์ผํ (0) | 2023.05.18 |
์ ๋ ฌ - ๋ฒ๋ธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (0) | 2022.07.01 |
์๊ณ ๋ฆฌ์ฆ - ํ์ด์ฌ for ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฆฌ์คํธ ์์ฑํ๊ธฐ (0) | 2021.11.22 |