목록내 개인적인 공부/알고리즘 (20)
그냥 게임개발자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EcILb/btsGefQnFpz/2QF28KKHelsn1UdkH6fFR0/img.png)
#include #include #include int main() { vector v; for (int i = 1; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/buWtPf/btsGg0jY51Q/o90xtKHyO5IQm1ACEqReSK/img.png)
순서와 상관 O 뽑는다면 >> 순열 순서와 상관 X 뽑는다면 >> 조합 순서를 재배치하여 or 한 순서의 경우 max값을 어쩌구저쩌구 >> 순열 ex1) [1, 2, 3] 3개를 뽑으라면 [1, 2, 3] => 조합(순서 상관 없음) [1, 2, 3] 1번 부터뽑고 2번부터 뽑고 3번부터 뽑는다. [1, 2, 3], [2, 1, 3], [1, 3, 2], [2, 3, 1], [3, 1, 2], [3, 2, 1] 총 6개 => 순열(순서 상관있음) ex2) [1, 2, 3] 2개를 순서 상관 없이 뽑으면 => [1, 2], [2, 3], [1, 3] 3개 [1, 2, 3] 2개를 순서 상관 있이 뽑으면 => [1, 2], [2, 1], [1, 3], [3, 1], [2, 3], [3, 2] 6개 그럼 이것..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Frtf4/btsGeeDYfqx/PHLrTbJedYkC1Jtwx5njEK/img.png)
재귀함수 재귀함수(Recursion)는 정의 단계에서 자신을 재참조하는 함수 전달되는 상태인 매개변수가 달라질 뿐 똑같은 일을 하는 함수 큰 문제를 작은 부분문제로 나누어서 풀 때 사용한다. 주의사항 반드시 기저사례를 써야 한다. 기저사례라는 것은 종료 조건을 말한다. 사이클이 있다면 쓰면 안된다. ex) func(a) 가 func(b)를 호출한 뒤 func(b)가 다시 func(a)를 호출하는 것 반복문으로 풀 수 있다면 반복문으로 푸는 것이 맞다. 예시 코드들 #include using namespace std; int fact(int n) { // 기저사례 if (n == 1 || n == 0) return 1; return n * fact(n - 1); } int fibo(int n) { // 기..
어떤 알고리즘을 사용한다라는 그런 분류들을 보지말자. 이것을 파악하는 것이 핵심이다.