2026. 1. 9. 20:52ㆍ언리얼 7기 본캠프
팀프로젝트의 여독이 빠지지 않은건지 머리는 멍하고 집중도 안되고 자꾸 눈이 감겼음
그래도 어떻게든 코드카타도 열심히 풀고 있는데... 코드카타 도중에 도저히 코드로 어떻게 적어야할지 모르는 수학적 공식(소수 구하기 등...)은 검색을 참고해서 풀 수밖에 없었음. 내가 수학에 진짜 엄청 약한데...ㅠㅠ
이후 헷갈렸던 부분이 있었던 1-3강을 복습한 다음 1-4강을 하는데, 블루프린트로 작업할때는 소위 '딸깍'이면 끝났던 작업을 코드로 하려니까 상당히 헷갈리고 복잡했음. 일단 Unreal C++의 문법 자체가 아직 눈에 안익기도 했거니와, 컴파일 과정도 복잡하고 한번 잘못 치면 큰 일이 생기는것도 그러했음. 특히...
Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 4671]
Bad path name: /Game/Resources/Materials/M_Metal_Gold.M_Metal_Gold', missing ' or an incorrect format
코드를 잘못치고(매터리얼 경로 복사에 '가 붙는걸 못보고 뒷부분 '를 안지움) 엔진에서 컴파일을 했더니 위의 에러를 뿜으면서 언리얼 에디터가 팅겼는데... 문제는 코드를 수정해도 에디터가 그대로 안켜짐;;;
이거때문에 한참 머리싸매고 검색하고 하다가 프로젝트 파일 내 컴파일 관련 파일들 삭제하고 빌드 다시 하니까 겨우 프로젝트가 살아남. 정확한 코드 작성의 중요성을 다시한번 느끼고 체감함........

블루프린트였으면 10초면 될 작업을 C++로 하니까 몇시간을 빙빙 돌아서 한건지... 아직 갈길이 멀다고 느낌
코드카타 코드 좀 첨부하고 오늘을 마무리
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(int k, int m, vector<int> score) {
int answer = 0;
if(m > score.size()) return 0;
sort(score.rbegin(), score.rend());
for(int i = m-1; i < score.size(); i+=m){
answer+=score[i]*m;
}
return answer;
}
//과일장수 문제. k는 왜 준거지...?
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> p1 = {1,2,3,4,5};
vector<int> p2 = {2,1,2,3,2,4,2,5};
vector<int> p3 = {3,3,1,1,2,2,4,4,5,5};
vector<int> correct(3);
for(int i = 0; i < answers.size(); i++){
if(p1[i % 5] == answers[i]) correct[0]++;
if(p2[i % 8] == answers[i]) correct[1]++;
if(p3[i % 10] == answers[i]) correct[2]++;
}
int max = *max_element(correct.begin(), correct.end());
for(int i = 1; i <= correct.size(); i++){
if(correct[i-1] == max) answer.push_back(i);
}
return answer;
}
//상당히 깔끔하게 썼다고 생각하는 모의고사 문제. 나머지 연산 활용법이 조금씩 늘어나는듯?
#include <vector>
#include <iostream>
using namespace std;
int solution(vector<int> nums) {
int answer = 0;
for(int i = 0; i < nums.size()-2;i++){
for(int j = i + 1; j < nums.size()-1; j++){
for(int k = j + 1; k < nums.size(); k++){
int n = nums[i] + nums[j] + nums[k];
bool prime = true;
for(int l = 2; l * l <= n; l++){
if (n % l == 0){
prime = false;
break;
}
}
if(prime) answer++;
}
}
}
return answer;
}
//오늘의 뜨거운 감자 소수 만들기. 다른 로직은 괜찮았는데 '소수를 만드는법'이
//전혀 머리에 떠오르지가 않아서 결국 검색으로 해결...
//2 이상의 수 l을 나누어서 딱 떨어지면 다른 약수가 있는것이니 소수가 아니라고 함
//근데 제곱을 사용하는 이유에 대해서는 확실히 이해하지 못했음. 연산수가 줄어든다는건 알겠는데 저게 어떤 원리로...?'언리얼 7기 본캠프' 카테고리의 다른 글
| 260113 - Unreal C++ 4일차 + 개인 프로젝트 (0) | 2026.01.13 |
|---|---|
| 260112 TIL - Unreal C++ 3일차 (0) | 2026.01.12 |
| 260108 TIL - Unreal C++ 1일차 (0) | 2026.01.08 |
| CH2 팀프로젝트 KPT 회고록 (0) | 2026.01.07 |
| 260126 TIL - 팀프로젝트 6일차 - 마지막 버닝 (0) | 2026.01.06 |