일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 2D슈팅게임
- Animation State Machine
- 일시정지
- 플레이어 방향전환
- Unity
- Object Pooling
- Scrooling
- 패럴렉스
- Ainimation Blending
- Object Poling
- Transform
- LayerMark
- rotation
- apk
- 오브젝트 풀링
- rigidbody
- 플레이어 이동
- raycasting
- 유니티
- 스크롤링
- Blend Type
- 프리팹
- joystick
- Parallax
- Prefabs
- Hpbar
- CSharp #자료구조
- Vector3
- raycast
- Hp바
- Today
- Total
목록C#/Algorithm (4)
주녘공부일지
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bo79s0/btsyLmpsjdJ/lWJreykpWHS3j29qedRB9K/img.png)
최소 비용 신장 트리 MST (Minimum Spanning Tree) 그래프에서 모든 정점을 최소 비용으로 연결하는 것 - n개의 정점을 잇는 간선의 수는 n-1개 ( 사이클을 가져서는 안됨 ) -> 사이클 ex) A -> B / B -> C / C -> A - 간선의 가중치의 합이 최소여야 함 1. 크루스칼 알고리즘 (Kruskal Algorithm) 가장 비용이 적은 간선부터 선택해 나가는 알고리즘 (간선 선택 기반 알고리즘) - 간선을 기준으로 선택하기 때문에 간선이 적은 그래프(희소 그래프)에 유리 - 가중치를 기준으로 정렬된 간선들을 Union-Find 알고리즘을 사용해 연결하는 방식 동작 방식 1. 간선들을 가중치를 기준으로 오름차순 정렬 2. 가중치가 적은 간선부터 차례로 연결되어 있는지 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZCVb6/btsyIRoIcTQ/lQi18JvDdYe2suoeZprkVk/img.jpg)
1. 동적 계획법(DP : Dynamic Programming) 복잡한 하나의 큰 문제를 여러 개의 작은 문제로 나누어 해결하는 문제해결 방법 중 하나 - 작은 문제의 연산 결과를 저장해놓았다가 다시 큰 문제를 해결할 때 저장해둔 연산 결과를 다시 사용하는 문제해결 패러다임 즉, 메모리라는 공간 비용을 사용해 계산에 소요되는 시간 비용을 줄이는 방식 적용 조건 - 최적 부분 구조 : 작은 문제들의 연산 결과로 큰 문제의 답을 알 수 있는 구조 - 중복 부분 문제 : 작은 문제들의 연산은 중복된 연산으로 같은 값이 되는 문제 ex) 피보나치 수열, 등 + Divide and Conquer(분할 정복)과의 차이점 : 중복되는 연산의 유무 ( 작은 문제의 답이 항상 같은가? ) 2. 동적 계획법의 방식 Top..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/tSumN/btsscB6XrwT/Cp9kxdKlRwJdJUocwh6Tf0/img.gif)
1. 소수란? 1과 자기 자신으로만 나누어 떨어지는 수 - 시간복잡도 : O(log(√N) public static bool IsPrime(int num) { if (num < 2) return false; for (int i = 2; i < num; i++) if (num % i == 0) return false; return true; } 2. 제곱근 활용 num = x * y 라고 했을 때 1
1. BFS(Breadth First Search) - 너비 우선 탐색 최단 경로, 임의의 경로를 찾고 싶을 때, 등에 사용 - 큐(FIFO) 사용 // 큐를 이용 public void BFS(int index) { Node root = nodes[index]; Queue queue = new Queue(); queue.Enqueue(root); root.marked = true; while (queue.Count > 0) { var node = queue.Dequeue(); for (int i = 0; i < node.adjacent.Count; i++) { var adjacentNode = node.adjacent[i]; if (adjacentNode.marked == false) { adjacent..