일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 코드잇TIL
- 코드잇
- Unity
- M1W
- 노트북램교체
- JS
- unityC#
- JavaScript
- 노트북SSD교체
- 긱바
- 삼성노트북하판
- 코테
- 코테준비
- solved.ac
- GMK67
- LinkedList
- 브론즈
- 기계식키보드
- ADT
- 오늘도코드잇
- 추상적 자료형
- 삼성노트북
- 몬스긱
- 시간복잡도
- 스톡
- 자바스크립트
- 코딩공부
- 백준
- 자료구조
- 어도비
- Today
- Total
목록분류 전체보기 (31)
SKYLIGHT STUDIO
해결하느라 꽤 오랫동안 골치 썩였다. 내가 안고 있던 문제는 정확히 플레이어를 향해 로테이션을 회전하는 로직은 작동하고 플레이어를 발견하면 Walk 애니메이션도 정상적으로 작동하나, 정작 중요한 NavMesh가 제대로 작동하지 않아 적이 바닥에서 제자리걸음을 하고 있던 것이었다. 그래서 스테이지 일부가 개점휴업 상태로 최종 시연 당시에도 제대로 작동하지 못했다. 제작중인 프로젝트는 투명화된 'Ground' Plane과 Terrain(콜리전 꺼진)을 통해 바닥을 구현하고 있다. 문제는 내비가 이 둘을 전부 Navigation 처리를 하고 있었던 것으로, Terrain의 Navigation Static 옵션을 꺼주고 새로 Bake하는 것으로 문제를 해결하였다.
이번에는 병합 정렬(Merge Sort)에 대해 학습한다. 폰 노이만 선생이 개발한 알고리즘으로 유명. 보통 O(nlogn) 정렬들을 학습할 때 제일 먼저 학습하게 된다. 합병 정렬하고 같은 거니까 괜히 헷갈리지 말자. 텍스트적으로 설명하자면... 주어진 배열을 반으로 나눈 다음 각각을 재귀적으로 정렬하고, 그 후에 정렬된 두 배열을 병합하여 전체 배열을 정렬하는 방법이라고 보면 된다. 분할 정복(divide / conquer)로 구현된다. 당연히 처음 본 사람은 무슨 소린가 싶을 것이다.. 일단은 분리하는 것을 divide, 합치는 것을 conquer이라고 하자. conquer 상에서는 정렬이 이루어진다. conquer을 반복한 결과 오름차순으로 정렬이 이루어진다는 것. 이런 궁금증이 생길 수도 있다...
버블 정렬에 대해 정렬한다. 아마도... O(n²) 시간복잡도를 가지는 정렬들 중에서는 제일 유명하다고 생각. 일단 그냥 텍스트로 설명하자면, 1번째와 2번째 원소를 비교하여 정렬하고(그러니까 둘을 비교해서 순서를 정리한다는 말이다), 2번째와 3번째, 그리고 N-1번째와 N번째를 정렬한 뒤 처음으로 돌아가서 n-2번째와 n-1번째까지 해서... 최대 n(n-1)/2번 정렬하는 알고리즘. 당연하게도 일반적으로 최악의 성능을 자랑하지만, 그만큼 구현 난이도는 쉽다. 전형적인 코테용 알고리즘이라고 보면 된다. 누가 대체 데이터량의 제곱을 처리하는 알고리즘을 쓰겠어... void bubbleSort(int arr[], int n) { bool swapped; // 교환시 실제로 진행되었는지 확인하는 플래그 f..
계산 복잡도 이론(Computational complexity theory)에서 문제를 해결하려는 데에 걸리는 시간과 입력의 함수 관계를 시간 복잡도라고 통칭한다. 당연하게도 퓨어한 수학에 가까운 개념이므로 잘 이해가 가지 않는 것은 당연하다. 따라서 우리의 주 관점인 컴퓨터사이언스적인 관점에서 알고리즘의 시간복잡도는 입력을 나타내는 문자열의 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 컴공이나 소프트웨어쪽으로 가면 어차피 죽어라 해야 한다. 더 풀어서 설명하자면, 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수인 것이다. 실제 시간 복잡도를 정의할 때는 한 가지만 사용하지는 않으며(일반적으로 빅-오(O(n))을 대학 공부할 때 많이 쓰기는 한다) 3가지 유형을 ..