[Unreal_C++_DarkSoul]#15_Data Table 로드 함수 Data Table 정보를 가져오는 Load 함수를 구현합니다. Overview 개요 코드 결론 #1. 개요 1. 문제 CHelpers(Utility 클래스) 클래스에서 Data Table 종류별 Load 함수를 static 멤버 함수로 정의합니다. 각 액터 컴포넌트들은 GameObject 객체로부터 가져온 Data Asset을 통해 Data Table을 전달받고, CHelpers가 제공하는 Load 정적 함수를 통해 전달받은 Data Table로부터 필요한 정보를 Load 할 수 있습니다. 이때, Game Object가 Load한 정보들을 Game Object의 액터 컴포넌트들로 가져오기 위해선 Tick() 함수를 정의해야 합니..
전체 글
[Unreal]#24_Deactivate와 DeactivateImmediate Unreal 개발 중 Niagara Component 클래스의 Deactivate 관련 함수에 대해 알아보겠습니다. Overview 개요 코드 정리 #0. 개요 1. 마법 발사체의 이펙트 Proejctile 클래스를 상속하는 Projectile_Magic(마법 발사체) 유형의 객체는 기본적으로 세 가지 이펙트를 컴포넌트로 갖습니다-Muzzle Effect(발사 효과), Projectile Effect(발사체 효과), Hit Effect(충돌 효과). 이때, 각 이펙트는 Niagara Component 클래스를 상속하여 Niagara Component 클래스의 함수들을 활용하는데, 활성화 시점과 비 활성화 시점에 각각 Activ..
[확률과 통계]#3_이항 정리, 파스칼 삼각형 확률과 통계 과목의 "이항 정리"와 "파스칼 삼각형"에 대해 공부합니다. Overview 이항 정리 파스칼의 삼각형 #0. 이항 정리 1. 이항 정리? 이항 정리(Binomial Theorem)는 이항식의 거듭제곱을 이항 계수를 계수로 하는 일련의 단항식들의 합으로 전개하는 정리입니다. 2. 다항식 이항정리에서 소개되는 (a+b)ⁿ는 n차 다항식으로, 전개하면 위와 같은 형태로 나타납니다. 다항식 (a+b) ³을 전개해 보겠습니다. 이때, 단항식의 계수들을 정리하면, 1, 3, 3, 1이 나옵니다. 우리는 간단한 방법을 통해 다항식을 통해 전개하여 나오는 계수들을 찾아낼 수 있습니다. 3. 이항 계수와 조합의 관계 가장 먼저, (a+b)³를 (a₁+b₁) x..
[자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념이진트리순회이진 탐색 트리균형 이진트리AVL 트리레드-블랙 트리Map, Set힙 #0. 개념1. 트리? [정의] : 트리는 1:n 관계의 계층 구조를 갖는 비선형 자료구조입니다. 트리는 노드로 구성되어, 각 노드의 연결 관계는 간선으로 표현합니다. 트리 자료구조는 사이클이 존재하지 않아 노드 간 계층 구조를 갖는 것이 특징입니다. 만약, 트리 자료구조의 노드 개수가 N개라면, 간선의 갯수는 N-1개입니다. [특징] : (1) 계층 구조 : 트리의 루트 노드는 부모 노드가 없지만, 그 외 노드들은 부모-자식 관계를 가지며 계층 구조를 형성합니다. (2) 간선의 방향성 : 트리의 간선은 항상 부모 -> 자식으로 방향성을 갖습니..
[자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 덱 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? [정의] : 선형 자료구조는 데이터 항목이 순차적으로 배열되는 자료구조입니다. 선형 자료구조에서 각 항목은 전후 관계를 가지며, 이를 통해 리스트의 처음부터 끝까지 순차적으로 접근할 수 있습니다. [종류] : 선형 자료구조의 대표적인 예로 스택, 큐, 배열, 리스트가 있습니다. 2. 장점 비교적 빠른 접근 속도 : 선형 자료구조는 데이터가 연속적으로 저장되어 특정 인덱스 혹은 포인터를 통해 빠르게 데이터에 접근할 수 있습니다. 간단한 구현 3. 단점 비교적 느린 검색 속도 : 선형 자료구조 안에서 특정 데이터를 검색하는 과..
[자료구조]#4_레드-블랙 트리 레드-블랙 트리에 대해 알아보겠습니다. Overview 개념 정렬 방법 #0. 개념 1. 레드-블랙 트리? [정의] : 레드-블랙 트리는 균형 이진 트리의 한 종류로, 노드에 빨간색/검정색을 부여하는 방식으로 트리의 높이 균형을 유지합니다. 레드-블랙 트리의 자가 균형성은 편향 이진 트리의 최악의 경우 O(n)의 시간 복잡도 대신, 항상 O(log n)의 탐색 시간을 보장합니다. [특징] : 레드-블랙 트리는 몇 가지 조건으로 노드에 색을 부여하고, Restructuring 혹은 Recolorizing을 통해 정렬 작업을 수행합니다. [레드-블랙 트리 vs AVL트리] : 레드-블랙 트리는 AVL트리와 같은 균형 이진 트리이지만, 균형 조건이 비교적 더 허용적이므로, 일반..
#0. 개념 1. 이분 탐색? [정의] : 이분 탐색은 정렬된 배열에서 특정 값을 찾기위해 사용되는 탐색 알고리즘입니다. [동작 방식] 1. 먼저, 배열의 왼쪽 경계와 오른쪽 경계를 설정합니다. 2. 중간 값을 얻어 찾고자하는 특정 값과 그 크기를 비교합니다. 3. 위 비교 연산의 결과에 따라서 왼쪽 경계 혹은 오른쪽 경계를 변경합니다. 4. 위 작업을 반복하며, 최종적으로 특정 값을 찾아냅니다. * 주의할 점 : 이분 탐색은 '정렬된' 배열에 사용되는 탐색 알고리즘입니다. 2. 코드 int BinarySearch(vector v, int l, int r, int x) { while (l x) r = mid - 1; // 찾고자 하는 값이 중간값보다 큰 경우, 오른쪽 배열 탐색 else l = mid +..
[Basic C++] #66_rotate, 배열 회전 C++에서 제공하는 rotate() 함수에 대해 알아보겠습니다. Overview 개념 코드 예제 #0. 개념 1. 배열 회전 C++에서 제공하는 rotate() 함수는 지정된 범위 내에서 항목들의 순서를 변경합니다. 2. 헤더 #include 3. Syntax template void rotate (ForwardIterator first, ForwardIterator middle, ForwardIterator last); Details rotate() 함수는 총 세 가지 인자를 전달받습니다. first, middle, last. first는 범위의 첫 번째 항목을 가리키는 반복자입니다. middle은 범위의 첫 번째 그룹의 마지막 요소를 가리키는 반복..
[Basic C++] #65_getline() C++에서 제공하는 getline() 함수에 대해 알아보겠습니다. Overview 개념 코드 예제 #0. 개념 1. getline() getline() 함수는 문자열을 입력받는 함수입니다. getline() 함수는 입력 스트림에서 개행 문자(\n)를 만날 때까지 문자를 읽습니다. 즉, 사용자가 작성한 공백을 포함한 문자열을 입력해도 개행 문자를 만날 때까지 모든 문자를 읽을 수 있습니다! #1. 코드 예제 1. 헤더 #include 2. 문법 istream& getline (istream& is, string& str, char delim); Details getline() 함수는 첫 번째 인자로 입력 스트림 객체(cin)를 전달받습니다. getline() ..
[Basic C++] #64_stack C++에서 제공하는 stack 클래스에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. Stack C++에서 제공하는 stack은 LIFO 데이터 구조를 구현하는 STL 컨테이너입니다. stack은 기본적으로 컨테이너의 가장 뒤쪽에서만 데이터를 삽입하고 삭제합니다. #1. 선언 1. 헤더 #include 2. 선언 및 초기화 #include #include using namespace std; int main() { // #0. 빈 스택 선언 stack s1; // #1. 기존 배열을 활용한 초기화 int arr[] = { 1, 2, 3, 4, 5 }; int n = sizeof(arr) / sizeof(arr[0]); stack ..