260306 TIL - 챕터4 시작!

2026. 3. 6. 21:12언리얼 7기 본캠프

오늘도 휴식 겸 코드카타 한문제판 풀고 넘어감. 새로운 팀원분들과 이야기도 해야하고... 이래저래 할게 많았음

 

//게임 맵 최단거리 문제. DFS는 어느정도 적응이 됐는데 BFS는 개념과 코드작성에 약간 미흡했던 터라
//BFS 문제를 찾아서 풀었음.근데 변수를 좀 많이 작성하긴 하는데, 이걸 좀 더 최적화할만한 방법이 있는지
//알아보면 좋을 것 같음
#include<vector>
#include<queue>

using namespace std;

vector<int> dx = {1, -1, 0, 0};
vector<int> dy = {0, 0, 1, -1};

int solution(vector<vector<int> > maps)
{
    int answer = 0;
    int row = maps.size();
    int column = maps[0].size();
    queue<pair<int, int>> mapqueue;
    vector<vector<bool>> isvisited(row, vector<bool>(column));
    mapqueue.push({0, 0});
    isvisited[0][0] = true;
    bool isgoalable = false;
    
    while(!mapqueue.empty())
    {
        int curx = mapqueue.front().first;
        int cury = mapqueue.front().second;
        if (curx == row - 1 && cury == column -1)
        {
            isgoalable = true;
            break;
        }
        for(int i = 0; i < 4; i++)
        {
            int targetx = curx + dx[i];
            int targety = cury + dy[i];
            if (targetx < 0 || targetx >= row || targety < 0 || targety >= column) continue;
            if (maps[targetx][targety] == 0) continue;
            if (isvisited[targetx][targety]) continue;
            isvisited[targetx][targety] = true;
            mapqueue.push({targetx, targety});
            maps[targetx][targety] = maps[curx][cury] + 1;
        }
        mapqueue.pop();
    }
    if (isgoalable)
    {
        answer = maps[row - 1][column - 1];
        return answer;
    }
    else return -1;
}

 

이후 회고시간을 가졌는데, 나는 이번에 팀원분들과 얼마나 소통을 했는가에 대해 다시 돌아보게 되었음. 결과적으로 잦은 소통 부족 및 작업 능률 하락으로 인해 원하는 결과를 도출해내지 못했던 만큼, 잦은 소통의 중요성과 '너무 혼자 감당하지 않으려는 생각'이 중요하다고 생각됨. 1인분 하면서, 팀에 민폐 끼치지 않을 정도의 능률을 확실히 보여줘야겠다고 생각함

 

그리고 심화반 시험을 봤는데, 코딩테스트 2문제는 쉬운개념 1문제와 마침 오늘 풀었던 BFS 문제가(진짜 운이 좋았음;;) 나와서 해결했는데, 최고점인 논술문제에서 수학적으로 작성하라는것에 수학적 개념이 부족해서 결국 UE적 개념으로 비유해서 적는것밖에 하지 못했고, CS는... 머릿속에 CS에 대해 아무것도 들어있지 않아서 고민해봐야 답이 안나오기때문에 백지로 낼 수 밖에 없었음. 앞으로 면접대비든 실전이든 CS에 대한 지식이 계속해서 필요할것이라 여겨지는 만큼, 시간을 더 쪼개서 CS에 대한 공부도 시작을 해야할 것 같음. 더 바빠질 것 같다...

 

이후 새로운 팀원분들과 자기소개 시간도 가졌는데, 이전에 있었던 팀들에 비하면 진짜 엄청나게 밝고 소통이 활발하신 팀원분들이 배정되었음. 진짜 농담 다 빼고 이전 팀에서 한달 내내 했던 말보다 오늘 하루간 말한게 훨씬 많다고 느낌. 사실 팀플레이에서 이정도의 활발함을 기대하고 있었기 때문에, 이전보다 좋은 결과를 낼 수 있을것이라 기대중임

 

그리고 이번 팀 프로젝트를 끝내고나니 머릿속에 약간 잊혀져가던 내 개인 프로젝트 기획이 다시 희미하게 떠오르는데, 기획자를 꿈꾸시던 팀원분의 '기억이 나지 않으면 그것은 좋은 기획이 아니다'라는 조언을 듣고 컨셉 자체는 기억에 남아있으니 그 컨셉을 토대로 기획을 다시 써보려고 함. 특히 이번에 진행했던 슈터게임 프로젝트가 내 개인 프로젝트에 큰 도움을 줄 것으로 보이는 만큼, 코드분석도 더 많이하고 기획도 해보면서 기틀을 조금 더 잡아보려고 함. 물론 공부가 방해되지 않는 선에서... 화이팅!

 

+ 갑자기 메인컴 C드라이브가 터져서 고치는데 시간을 좀 많이 써서 따로 강의를 듣지는 못함... 그리고 팀원분들의 열렬한 추천으로 VS 대신 Rider로 넘어가려고 생각중