260127 TIL - 언리얼 C++ 14일차

2026. 1. 27. 20:58언리얼 7기 본캠프

갈수록 알고리즘 문제가 벅찰정도로 어려워지고 있음. 하루 두 문제 목표로 풀고있는데... 나중엔 다시 하루 한문제 바짝 풀어야 할 지도...

오늘 문제도 수학적 사고를 요하는 문제였고, 한땀한땀 계산해서 코드짜려다가 계산 결과를 한번 보라는 조언에 지문과 결과를 몇개 대조해보자 규칙이 있어서 풀 수 있었음

그리고 지문이 이해가 잘 안돼서 지문만 5분 째려본 문제도 있었고... 그래도 덕분에 좀 더 잘 이해해서 풀 수 있었음

 

//멀리뛰기 문제. 경우의 수를 전부 계산하려다가 결과값을 몇개 정리해보니까
//결과가 피보나치 수열로 나와서 피보나치 수열 계산을 활용해 해결했음
//1234567로 나눈다는것에서 파악을 했어야했나...?
#include <string>
#include <vector>

using namespace std;

long long solution(int n) {
    long long answer = 0;
    vector<long long> vec(n,0);
    if(n == 1) return 1;
    vec[0] = 1;
    vec[1] = 2;
    for(int i = 2; i < n; i++){
        vec[i] = (vec[i-2] + vec[i-1]) % 1234567;
    }
    answer = vec[n-1];
    return answer;
}

//귤 고르기 문제. 귤 크기가 1~10000000이라는 비현실적인 조건때문에 벙쪘지만 아무튼...
//지금보니 처음에 제일 큰 귤을 찾을때 sort를 썼는데, max element를 쓰는게 더 나았을것 같음
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(int k, vector<int> tangerine) {
    int answer = 0;
    sort(tangerine.begin(), tangerine.end());
    vector<int> count(tangerine.back()+1, 0);
    for(int i : tangerine){
        count[i]++;
    }
    sort(count.begin(), count.end(), greater<int>());
    for(int i : count){
        k -= i;
        answer++;
        if(k<=0) break;
    }
    return answer;
}

 

 

오늘은 구현 다 거르고 일단 강의에 집중하자는 마인드로 3-5, 4-1~4-3까지 진도를 쭉 나감. 이해안되는 부분 계속 돌려보면서 게임 플로우의 기본과 UI의 기본에 대해 배우고 익히는 시간을 가졌음

내일 4-4까지 마저 듣고, 과제 제작을 시작해봐야 하는데, 문제는 캐릭터 구현부터 다시 해야할 예정... 7번과제 제출하면서 캐릭터 구현했던 프로젝트의 리소스를 캐릭터에 필요한것 말고 전부 다 날려버려서 에셋이 엉망임 ㅠㅠ