1. Day43
- 알고리즘 코드카타
- C++과 Unreal Engine으로 3D 게임 개발
- 스탠다드 클래스
- TA 클래스
2. CH3 - C++과 Unreal Engine으로 3D 게임 개발(Day43)
- Chapter 3 C++과 Unreal Engine으로 3D 게임 개발(3-2)
- 충돌 이벤트로 획득되는 아이템 구현하기
3. 알고리즘 코드카타
- K번째수(초기 코드)
- range - based for문으로 commands를 순회하면서 그안에서 for문으로 array의 배열을 commands대로 잘라서 temp에 넣고 sort로 정렬한 다음 temp의 배열에서 k번째 수를 answer 배열에 추가
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
for (auto& it : commands)
{
vector<int> temp;
for (int i = it[0] - 1; i <= it[1] -1; i++)
{
temp.emplace_back(array[i]);
}
sort(temp.begin(), temp.end());
answer.emplace_back(temp[it[2] - 1]);
}
return answer;
}
- K번째수(추가 코드)
- range - based for 문 하나만 commands 기준으로 순회하면서 temp 에 array를 복사해 넣고 temp를 순회하지않고 temp의 i와 j번째 구간만 정렬한다음 k번째 수를 answer에 추가
- for문을 하나 줄일 수 있다는 장점이 있지만 기존 코드대비 for문 마다 temp에 array의 전체 배열을 복사해 넣는다는 점에서 배열이 길어진다면 효율이 좋지 못할 수있음
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> temp;
for (auto& it : commands)
{
temp = array;
sort(temp.begin() + it[0] -1, temp.begin() + it[1]);
answer.emplace_back(temp[it[0] + it[2] - 2]);
}
return answer;
}
- 두 개 뽑아서 더하기(초기 코드)
- 이중 for 문으로 모든 더해지는 경우의수를 구한다음 answer 에 넣고 sort로 오름차순 정리
- 정렬된 answer 를 unique로 중복 되는 원소는 뒤로 밀고 erase로 지움
#include <string> #include <vector> #include <algorithm>
using namespace std;
vector
vector
for (int i = 0; i < numbers.size() - 1; i++)
{
for (int j = i + 1; j < numbers.size(); j++)
{
answer.emplace_back(numbers[i] + numbers[j]);
}
}
sort(answer.begin(), answer.end());
answer.erase(unique(answer.begin(), answer.end()), answer.end());
return answer;}
- 두 개 뽑아서 더하기(개선 코드)
- set이 중복과 정렬을 자동으로 처리한다는 점을 이용해 numbers의 서로 다른 인덱스끼리의 모든 합을 set에 넣고 answer.assign을 이용해 할당
- sort, unique, erase 과정을 assign하나로 압축
#include <string>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
vector<int> solution(vector<int> numbers) {
vector<int> answer;
set<int> s;
for (int i = 0; i < numbers.size() - 1; i++)
{
for (int j = i + 1; j < numbers.size(); j++)
{
s.emplace(numbers[i] + numbers[j]);
}
}
answer.assign(s.begin(), s.end());
return answer;
}
4. 베이직 실전 클래스
- System 객체 활용 계획 레포트 제출
5. 프로파일러 CI/CD 특강
- .pdb파일에 디버깅 기록이 있어서 배포때는 제외해야함
- 디버깅 팀 및 Profilling
- Assertion
- check : 거짓이면 치명적으로 중단 배포 버전에선 꺼짐
- verify : check와 기본 동작은 같으나 배포 버전에서도 작동
- ensure : 거짓 이여도 로그/콜스택 남기고 계속 진행
- Profiler
- Stat : 콘솔에서 Stat 명령어(FPS, UNIT, Game, CPUStalls, GPU 등)로 사용
- Unreal Insights Frontend : Trace 활성화로 사용
- Profiling Macro Functions : CPU 시간 측정(stat 콘솔 용), CPU 이벤트 마커(Unreal Insights 용), 태그별 메모리 추적
- Assertion
6. 내일 계획 : CH3 강의 학습, 알고리즘 문제 집중, 베이직 실전 클래스 과제 제출
'내일배움캠프_Unreal 게임 개발자 부트캠프_7기 > 본캠프' 카테고리의 다른 글
| [TIL] 2026-01-30 | 본캠프 45일차 - 스탠다드 클래스, TA 클래스 (0) | 2026.01.30 |
|---|---|
| [TIL] 2026-01-29 | 본캠프 44일차 - 베이직 실전 클래스(TUniquePtr<T> 심화 Move Semantics) (0) | 2026.01.29 |
| [TIL] 2026-01-27 | 본캠프 42일차 - 스탠다드 클래스 평가, TA 클래스 (0) | 2026.01.27 |
| [TIL] 2026-01-27 | 컴파일 과정과 블루프린트 컴파일의 이해 (0) | 2026.01.27 |
| [TIL] 2026-01-26 | 본캠프 41일차 - 베이직 실전 클래스 (0) | 2026.01.26 |
