* ์ฌ๊ทํจ์
1) ์ ์ ๋จ๊ณ์์ ์์ ์ ์ฐธ์กฐํ๋ ํจ์
2) ์ ๋ฌ๋๋ ์ํ์ธ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌ๋ผ์ง ๋ฟ ๋๊ฐ์ ์ผ์ ํ๋ ํจ์
3) ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ์ชผ๊ฐค ๋ ์ฌ์ฉํจ
* ์ฌ๊ทํจ์ ์ฃผ์์ฌํญ
1) ๋ฐ๋์ ๊ธฐ์ ์ฌ๋ก๋ฅผ ์จ์ผ ํ๋ค.(์ข ๋ฃ์กฐ๊ฑด)
2) ์ฌ์ดํด์ด ์๋ค๋ฉด ์ฐ๋ฉด ์๋๋ค.
3) ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ ๊ฒ ๊ฐ์ผ๋ฉด ๋ฐ๋ณต๋ฌธ์ผ๋ก.(ํจ์ ํธ์ถ์ ๋ํ cost๋ฅผ ์ค์ด๊ธฐ ์ํด. ๋ฐ๋ณต๋ฌธ์ด ๋ ๋น ๋ฅผ ์ ์์.)
* ์์
1) ํฉํ ๋ฆฌ์ผ n! : ๊ทธ ์ด์ ์ ํญ์ ๋ชจ๋ ๊ณฑํ๋ ๊ฒ.
2) ํผ๋ณด๋์น: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ...
#include <bits/stdc++.h>
using namespace std;
int fact(int n){
if(n == 1 || n == 0) return 1;
return n* fact(n -1);
}
int fibo(int n){
if(n == 0 || n == 1) return n;
return fibo(n - 1) + fibo(n - 2);
}
int n = 5;
int main() {
cout << fact(5) << "\n";
cout << fibo(5) << "\n";
return 0;
}
์ ํ์์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ ๋ชจ์ต !
์ถ๋ ฅ
120
5
#include <bits/stdc++.h>
using namespace std;
int fact(int n) {
int result = 1;
for(int i = n; i >= 1; i--) {
result *= i;
}
return result;
}
int n = 5;
int main() {
cout << fact(5) << "\n";
return 0;
}
์ด ๋, ์ฌ๊ทํจ์๋ ํจ์ ํธ์ถ์ ๋ํ cost ๊ฐ ์์ผ๋ฏ๋ก ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ๋ฉด ์์ฒ๋ผ ๊ตฌํํ๊ธฐ.
์ถ๋ ฅ
120
'๐ Coding Test Study > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[10์ฃผ ์์ฑ C++ ์ฝ๋ฉํ ์คํธ] ๋ฌธ์์ด ํ์๊ฐ๋ - split(), substr(), erase() (0) | 2023.08.05 |
---|---|
[10์ฃผ ์์ฑ C++ ์ฝ๋ฉํ ์คํธ] ํ์๊ฐ๋ - ์์ด(Permutation), ์กฐํฉ(Combination) (0) | 2023.08.03 |
[Algorithm][C++] BFS/DFS (0) | 2023.04.25 |
[C++][Programmers][์์ ํ์] ์์์ฐพ๊ธฐ (0) | 2023.04.23 |
[C++] ์์ ํ๋ณ๋ฒ, ์์ ๊ฐ์ ๊ตฌํ๋ ๋ฒ (0) | 2023.04.22 |