260123 TIL Unreal C++ 12일차, 8번과제

2026. 1. 23. 21:01언리얼 7기 본캠프

코드카타가 갈수록 수학을 요구하고 있음. 결국 수학과 친해질 수 밖에 없는 운명인가?

이진법 변환법조차 몰라서 관련 코드 찾아보면서 문제 해결함...

그리고 피보나치 수열의 크기를 너무 간과했음. 결국 문제의 의도를 파악하고 나머지를 잘 활용해서 풀었음(처음엔 아무 숫자나 우겨넣은줄...)

 

//이진 변환 반복하기 문제. string으로 이진법을 다룬다는것도 어색하고... 풀긴 했는데 아직 잘 모르겠음. 추후에 16진법도 나올까?
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(string s) {
    vector<int> answer;
    string dec = s;
    int bin;
    int zerodel = 0;
    int tobincount = 0;
    while (dec != "1"){
        string temp = "";
        for(char c : dec){
            if (c == '1'){
                temp += c;
            } else zerodel++;
        }
        bin = temp.length();
        string temp3 = "";
        while (bin > 0){
            temp3 += to_string(bin % 2);
            bin /= 2;
        }
        reverse(temp3.begin(), temp3.end());
        dec = temp3;
        tobincount++;
    }
    answer = {tobincount, zerodel};    
    return answer;
}

//피보나치 수 문제. 피보나치수를 만드는 공식 자체는 간단했지만
//조금만 반복해도 수가 엄청 커져서 결국 나머지를 활용해야했음(long long으로도 커버 불가능...)
#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int answer = 0;
    int n0 = 0;
    int n1 = 1;
    int nn;
    
    for(int i = 2;i <= n; i++){
        nn = (n1 + n0) % 1234567;
        n0 = n1;
        n1 = nn;
    }
    answer = nn;
    return answer;
}

 

 

8번 과제는 게임 루프 및 UI 기초를 다루는 과제임. 생각보다 시간이 촉박한데 강의가 제법 많았기에 당분간 과제 빠르게 듣고 과제 제작에 시간을 좀 더 쏟아보기로 했음. 일단 3 - 3강까지 완강했고, 월요일즈음에 남은 강의 모두 한번에 듣고 과제 기반부터 빠르게 다지는걸로 시작을 해야겠음

아주 우연히도 6번과제에서 이미 활용해봤던 박스 내부 랜덤 좌표에서 스폰하는걸 응용해서 만들수 있지 않을까 싶음. 팀프로젝트 전 마지막 과제이니만큼, 최대한 열심히 만들어서 제출할 예정