260130 TIL - Unreal C++ 17일차

2026. 1. 30. 20:56언리얼 7기 본캠프

오늘의 코드카타는... 수학 공부하는데 시간을 거의 다 썼음. 행렬의 곱셈이란게 나왔는데, 아~~~주 옛날에 배웠던것같은 희미한 기억만 남아있어서 결국 관련 자료를 한참 보면서 공부함

코드 자체는 어렵지 않았는데... 코드 작성하고 나서도 개념을 한참동안 더 봐야 했음

 

//행렬의 곱셈 문제. 뭔가 이해가 되는것같기도 하면서 안되는거같기도 하고...

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer(arr1.size(), vector<int>(arr2[0].size(),0));
    for(int i = 0; i < arr1.size(); i++){
        for(int j = 0; j < arr2[0].size(); j++){
            for(int k = 0; k < arr2.size(); k++){
                answer[i][j] += arr1[i][k] * arr2[k][j];
            }
        }
    }
    return answer;
}

//할인 행사 문제. 문제 내용이 복잡해서 읽는데 시간이 좀 걸렸지만 코드 자체는 금방 작성함
//코드 작성하는 과정에서 map 헤더에 대해서 알아보다가 완전히 구성이 동일한 map이면 ==을 사용할 수 있다는걸 배움

#include <string>
#include <vector>
#include <map>

using namespace std;

int solution(vector<string> want, vector<int> number, vector<string> discount) {
    int answer = 0;
    int days = 10;
    map<string, int> wantc;
    for(int i = 0; i < want.size(); i++){
        wantc[want[i]] = number[i];
    }
    for(int i = 0; i <= discount.size()-days; i++){
        vector<string> sub(discount.begin()+i, discount.begin()+i+days);
        map<string, int> submap;
        for(string s : sub){
            if(wantc.find(s) != wantc.end()){
                submap[s]++;
            }
            else break;
        }
        if (wantc == submap) answer++;
    }    
    return answer;
}

/* 그리고 코드 적는 습관을 좀 변경해야 겠다는 생각이 들었음. 코드카타라면 모를까 언리얼에서는
중괄호를 한줄 넘기고 적는 예제코드가 많고, 아무래도 그게 업계표준(?)인 것 같아서 그렇게 작성하는 연습을
미리 해두는게 좋을것 같음. 습관 들여놔야 나쁠건 없으니.

예:
if (조건 ~~~ ){
내용
}

↓

if (조건 ~~~)
{
내용
}
*/

 

이후 오늘은 급하게 강의를 다시 보면서 강의 내용에 맞춰서 코드 구현하는걸 시작했는데, 이번주 내내 수면이 부족한게 겹쳐서 오늘 결정타로 다가와서 계속 꾸벅꾸벅 졸면서 하고 오타가 계속 나서 컴파일 여러번 다시하고 뭐 잘못눌렀는데 빨리 파악 못해서 고치는데 빙빙 돌아가고... 결과적으로 3-1 ~ 3-4강의 구현까지밖에 못했음

주말을 좀 써서 주말 내내 UI까지 구현을 마친다음 과제의 내용을 추가해야할 것 같음

 

갈 길이 멀다... 주말은 반납! ㅠㅠ