[BOJ알고리즘, C++]#7785_회사에 있는 사람 BOJ 알고리즘 문제 풀이, 7785번 회사에 있는 사람 Set 컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 1. 문제 #1. 풀이 1. Set 컨테이너 [Basic C++] #29_Set, MultiSet, STL 컨테이너 [Basic C++] #29_Set, MultiSet, STL 컨테이너 C++ 개발에서 STL 컨테이너에 대해 알아보겠습니다. C++가 제공하는 STL 컨테이너 중 Set과 MultiSet을 살펴보겠습니다. Set 1. 개념 Set은 STL에서 제공하는 연관 컨테 webddevys.tistory.com STL의 Set 컨테이너는 균형 이진트리로 구현한 노드 기반의 연관 컨테이너입니다..
C++
[Unreal_C++_DarkSoul]#17_Grid 클래스 공간 분할 패턴을 활용한 Grid 클래스를 구현합니다. Overview 개요 코드 영상 #0. 개요 1. Grid 클래스? Grid 객체는 월드에 배치되어 Grid 객체가 정의한 지정 구간 내 위치한 Enemy 객체들을 관리합니다. 공간 분할 패턴(Spatial Partition Pattern) : Grid 객체는 공간 분할 패턴을 통해 "주변 객체 탐색" 성능을 최적화합니다. 월드 내 객체가 많아질수록, 이들을 탐색하는 작업은 느려집니다. 따라서, 플레이어의 현재 위치 값을 통해 Grid 객체를 특정하고, Grid 객체가 관리하는 적 객체 목록을 순회하여 탐색 성능의 최적화를 구현합니다. 객체 풀(Object Pooling) : Grid 객체..
[BOJ알고리즘, C++]#1874_스택 수열, 선형 자료구조, 스택 BOJ 알고리즘 문제 풀이, 1874번 스택 수열 선형 자료구조 중 스택을 활용해 수열을 나타냅니다. Overview 문제 풀이 코드 #0. 문제 1. 문제 #1. 풀이 1. 스택 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com 선형 자료구조는 데이터를 일렬로 저장하고 관리하는 자료구조로, 각 데이터는 앞이나 뒤에 위치한 데이터와 연결되어 있습니다. 그리고, 선형 자료구조는 논리적 순서와 물리적 순서가 일..
#0. 개념 1. 그래프?[정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 간선의 개수, 간선의 방향 유무 등에 따라서 다양한 형태로 나타납니다. 예를 들면, 간선의 방향성 유무에 따라서 비 방향성 그래프와 방향성 그래프가 존재합니다. 더불어, 간선의 연결 강도에 따라서 가중치 그래프/네트워크가 있고, 노드와 간선의 연결 유무에 따라서 부분 그래프와 완전 그래프가 존재합니다.[특징] : (1) 계층 구조의 부재 : 그래프는 계층 구조를 갖지 않습니다. (2) 간선의 방향성 : 그래프의 간선은 비 방향성 혹은 방향성을 갖습니다. (3) 간선의 가중치 : 그래프의 간선은 가중치를 가질 수 있습..
[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..
[자료구조]#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 +..