목록2024/01 (18)
득이공간
해당 게시물은 이득우 교수님의 '언리얼 C++의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 4장. 언리얼 프로젝트의 애셋과 빌드 시스템 4-1. 언리얼 오브젝트 관리 1 - 직렬화 4-2. 언리얼 오브젝트 관리 2 - 패키지 4-3. 언리얼 빌드 시스템 📌 4-1. 언리얼 오브젝트 관리 1 - 직렬화 1. 언리얼 엔진이 제공하는 직렬화 시스템에 대한 이해 2. FArchive 클래스를 활용한 메모리 아카이브와 파일 아카이브의 활용 3. JSonSerializer를 활용한 JSON 형식의 직렬화 기능의 활용 4. 일반 C++ 객체 관리를 위한 언리얼 스마트 포인터 라이브러리 활용 * 직렬화 (Serialization) - 오브젝트 or 오브젝트 그래프를 바이트 스트림으로..
13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net #include #include #include #include using namespace std; const int& MaxSize = 100001; const int& Infinite = INT_MAX; priority_queue SearchQueue; int Times[MaxSize]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); in..
1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net #include #include #include #include using namespace std; const int& Infinite = INT_MAX; vector Neighbors; vector LinkState; priority_queue SearchQueue; void Init(int InN, int InM) { Neighbors.reserve(InN); for (int i = 0; i < InN; ++i) { Nei..
1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net #include #include #include #include using namespace std; vector Neighbors; vector LinkState; priority_queue NonVisited; // 오름차순 PQ const int& Infinite = INT_MAX; void Init(int InV, int InE, int InK) { ios::sync_with_stdio(false); cin.tie(N..
14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net #include #include #include using namespace std; vector Schedule; vector Solution; vector Solutions; void DFS(int N, int Current, int Working, vector Solution) { if (Working > 0) { --Working; } if (Current == N - 1) { if (Working == 0 && Schedule[Current].first N; Schedule.reserve(N); for (int i = 0; i > T >> P;..
해당 게시물은 이득우 교수님의 '언리얼 C++의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 3장. 언리얼 엔진의 자료구조와 메모리 관리 3-1. 언리얼 컨테이너 라이브러리 1 - Array와 Set 3-2. 언리얼 컨테이너 라이브러리 2 - 구조체와 Map 3-3. 언리얼 엔진의 메모리 관리 📌 3-1. 언리얼 컨테이너 라이브러리 1 - Array와 Set 1. TArray, TSet 컨테이너 라이브러리 내부 구조와 활용 방법 2. 디버그 빌드를 사용해 메모리 정보를 확인하는 방법의 학습 3. 두 컨테이너 라이브러리가 가진 특징의 이해 * 언리얼 컨테이너 라이브러리 (UCL) - TArray: 오브젝트를 순서대로 담아 효율적으로 관리하는 용도로 사용된다. / 동적 가변..
해당 게시물은 이득우 교수님의 '언리얼 C++의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 2장. 언리얼 C++ 모던객체지향 설계 2-1. 언리얼 C++ 설계 1 - 인터페이스 2-2. 언리얼 C++ 설계 2 - 컴포지션 2-3. 언리얼 C++ 설계 3 - 델리게이트 📌 2-1. 언리얼 C++ 설계 1 - 인터페이스 1. 클래스가 반드시 구현해야 하는 기능을 지정하는데 사용한다. 2. C++은 기본적으로 다중상속을 지원하지만, 언리얼 C+의 인터페이스를 사용해 가급적 축소된 다중상속의 형태로 구현하는 것이 향후 유지보수에 도움이 된다. 3. 언리얼 C++ 인터페이스는 두 개의 클래스를 생성한다. 4. 언리얼 C++ 인터페이스는 추상 타입으로 강제되지 않고, 내부에 기본..
해당 게시물은 이득우 교수님의 '언리얼 C++의 이해' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 1장. 언리얼 오브젝트의 이해 1-1. 헬로 언리얼! 1-2. 언리얼 C++ 코딩규칙 1-3. 언리얼 C++ 기본타입과 문자열 1-4. 언리얼 오브젝트 기초 1-5. 언리얼 오브젝트 리플렉션 시스템 1 1-6. 언리얼 오브젝트 리플렉션 시스템 2 📌 1-1. 헬로 언리얼 1. 언리얼 엔진 설치, 프로그래밍 환경 구축 2. 언리얼 에디터에서의 클래스 추가 3. 언리얼 C++의 클래스 상속 및 오버라이딩 구현 4. 언리얼 엔진의 문자열 처리의 이해 5. 게임인스턴스 클래스의 적용과 카테고리를 활용한 로그 확인 * 에디터 언어 설정: 영어 Editor Preference region ..
1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net #include #include #include using namespace std; vector Lines; int main() { int K, N; cin >> K >> N; Lines.reserve(K); for (int i = 0; i > Line; Lines.emplace_back(Line); } int Result = 0; long long Length = 0; long lo..
2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net #include #include #include using namespace std; int main() { int N, M; cin >> N >> M; vector Trees; Trees.reserve(N); for (int i = 0; i > Tree; Trees.emplace_back(Tree); } int Result = 0; int Height = 0; int Min..