목록전체보기 (224)
득이공간
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..
2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net #include #include #include #include using namespace std; vector Sequence; bool compare(pair a, pair b) { return (a.second == b.second) ? a.first b.second; } int main() { int N; cin >> N; Sequence.reserve(N); for (int i = 0; i < N; ++i) { int Num..
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include #include using namespace std; vector Maze; vector Neighbors; vector Visited; queue SearchQueue; vector Predecessor; void BFS(int InRow, int InCol) { int StartPoint = 0; int FinishPoint = InRow * InCol - 1; Visited[StartPoint] = true; for (const int& Neighbor :..
1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net #include #include #include #include using namespace std; vector Neighbors; vector CheckList; queue SearchQueue; vector DFS; vector BFS; void DFSFunc(int Node) { CheckList[Node] = true; DFS.emplace_back(Node); for (const int& Neighbor : Nei..
2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #include #include #include using namespace std; int Complex = 0; vector Map; vector Neighbors; vector Households; int NumberingComplex(int HouseIndex) { int Count = 1; Map[HouseIndex] = Complex; for (int& Neighbor : Neighbors[HouseIndex]) { if (Map[Neighbor] ==..