2026. 2. 9. 22:18ㆍ언리얼 7기 본캠프
오늘의 코드카타 2문제는 새로운 개념들을 익히는 과정이었음. DFS의 형제(?)라고도 할 수 있는 queue를 활용한 BFS와, 비트연산을 처음으로 활용하는 문제가 나왔음. BFS는 그렇다쳐도 비트연산... 아... 진짜 머리 터질뻔함. 이걸 잘하는 사람은 뇌가 컴퓨터인가?

//숫자 변환하기 문제. '최소 횟수'를 반환하는 문제인데 아무생각없이 dfs썼다가 망하고
//다른 방식이라고 배웠었던 bfs를 더 확실히 익혀서 응용해서 풀었음
//queue를 사용하는 방식인데, dfs보단 직관적이어서 이해가 잘 됐던듯...
//그마저도 visited bool 체크안했더니 타임아웃나서 체크를 꼭 해야했었음
#include <string>
#include <vector>
#include <queue>
using namespace std;
int bfs(int x, int y, int n)
{
queue<pair<int, int>> q;
q.push({x, 0});
vector<bool> visited(1000001);
visited[x] = true;
while (!q.empty())
{
int currentVal = q.front().first;
int currentCnt = q.front().second;
q.pop();
if (currentVal == y) return currentCnt;
vector<int> next = {currentVal + n, currentVal * 2, currentVal * 3};
for (int i : next)
{
if (i <= y && !visited[i])
{
visited[i] = true;
q.push({i, currentCnt + 1});
}
}
}
return -1;
}
int solution(int x, int y, int n) {
return bfs(x, y, n);
}
//2개 이하로 다른 비트 문제. 이건 그냥 문제 자체를 이해를 못해서 비트에 대한 개념부터
//비트 연산자까지 다 익혀서 풀어야했음. 코드 자체는 간단했는데, 비트의 특성과 연산을 확실히 익히지 못하면
//추후 비슷한 문제 나왔을 때 풀 수 있을지 걱정됨...
#include <string>
#include <vector>
using namespace std;
vector<long long> solution(vector<long long> numbers) {
vector<long long> answer;
for(long long n : numbers)
{
if (n % 2 == 0)
{
answer.push_back(n + 1);
continue;
}
long long bit = 1;
while ((n & bit) != 0) bit *= 2;
answer.push_back(n + bit - (bit / 2));
}
return answer;
}
오늘은 내가 맡은 파트의 개발에 집중했고, 아이템, 무기, 인벤토리의 기초 작동 로직을 만들었음. 물론 다 만든건 아니고 추가 작업이랑 수정이 필요한 상황인데...
중간 점검을 해보려고 WeaponItem을 상속받은 BP를 만들어서 테스트를 하는데, 뭔 짓을 해도 컴포넌트 탭에 WeaponItem이 사용해야 할 컴포넌트들이 나오지를 않는것. 이게 대체 뭐지??? 하고 한참동안이나 코드 지웠다가 써보고 UPROPERTY 수정하고 클래스설정 만지고 VS 파일 다 날렸다가 다시 해보고 BP 몇번이나 다시 삭제했다가 만들어보고......
한참 만지다가 코드를 다시 슥 봤더니 뇌빼고 '으헤헤 생성자에서 데이터테이블값 불러오면 편하겠지?' 하고 박아놨던 코드가 문제였음

아니... 생성자 앞부분에 GameInstance를 떡하니 받아놓고 없으면 return한다고 함. 진짜 정신이 나갔나봄
이러니 이 뒷부분에 있던 컴포넌트 연결이 잘 될 리가 없었고... 내 몇시간이 잘못적은 코드 몇줄때문에 날아가버림
그래서 이걸 지우고나니 마법같이 컴포넌트가 나오면서 잘 해결이 되었고...나는 내 뇌를 저주했음. 코딩할땐 꼭 정신 빼놓지 말고 꽉 잡고 해야겠음............
'언리얼 7기 본캠프' 카테고리의 다른 글
| 260211 TIL - 챕터3 팀프로젝트 5일차 (0) | 2026.02.11 |
|---|---|
| 260210 TIL - 챕터3 팀프로젝트 4일차 (0) | 2026.02.10 |
| 260206 TIL - 챕터3 팀프로젝트 2일차 (0) | 2026.02.06 |
| 260205 TIL - 챕터3 팀프로젝트 1일차 (1) | 2026.02.05 |
| 260204 TIL - 커리어데이 (0) | 2026.02.04 |