1. Day42

  • 알고리즘 코드카타
  • C++과 Unreal Engine으로 3D 게임 개발
  • 스탠다드 클래스
  • TA 클래스

2. CH3 - C++과 Unreal Engine으로 3D 게임 개발(Day42)

  • Chapter 3 C++과 Unreal Engine으로 3D 게임 개발(3-1)
    • 인터페이스 기반 아이템 클래스 설계하기
// 1단계: 인터페이스 (순수 가상함수로 구현)
class IItemInterface
{
    virtual void ActivateItem() = 0;
    virtual FName GetItemType() const = 0;
};

// 2단계: 부모 클래스 (인터페이스 구현)
class ABaseItem : public AActor, public IItemInterface
{
    virtual void ActivateItem() override {}  // 빈 함수
    virtual FName GetItemType() const override { return ItemType; }
};

// 3단계: 실제 아이템 (필요한 것만 오버라이드)
class AHealingItem : public ABaseItem
{
    virtual void ActivateItem() override
    {
        // 힐링 로직
        DestroyItem();
    }
    // GetItemType()은 오버라이드 안 함 → 부모꺼 사용
};

3. 알고리즘 코드카타

  • 숫자 문자열과 영단어(초기 코드) - 이게 더 빠름
    • string list[10]에 zero부터 nine까지 배열을 준비
    • range - based for문으로 s 를 순환 (str로 받아서)
    • string temp_s 빈 문자열에 s가 알파벳일 경우 하나씩 +=
    • temp_s == list를 순환해서 참이라면 string num에 인덱스값 i를 to_string()을 이용해 추가
    • str이 정수라면 isdigit(str) 바로 num += str;
    • answer = stoi(num)으로 한번에 정수입력
#include <string>
#include <vector>
#include <cctype>

using namespace std;

int solution(string s) {
    int answer = 0;
    vector<string> numbers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
    string num = "";
    string temp_s = "";

    for (auto& str : s)
    {

        if (isalpha(str))
        {
            temp_s += str;
            for (int i = 0; i <= 9; i++)
            {
                if (temp_s == list[i])
                {
                    num += to_string(i);
                    temp_s = "";
                }
            }
        }
        else if (isdigit(str))
        {
            num += str;
        }


    }
    answer = stoi(num);
    return answer;
}
  • 숫자 문자열과 영단어(새로운 라이브러리 코드)
    • 다른 사람 풀이를 보던중 regex_replace를 확인 라이브러리 활용
    • 찾아 봤을때 regex_replace(s, regex(”zero”), “0”); 는 s 문자열을 순환해서 문자열에 zero라는 단어가 있다면 “0”으로 대체 하라는 뜻
    • 하지만 느린 편이라 시간제한이 있는 문제에서는 활용하기 어려움
#include <string>
#include <vector>
#include <regex>

using namespace std;

int solution(string s) {
    int answer;
    vector<string> numbers = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};

    for (int i = 0; i < numbers.size(); i++)
    {
        s = regex_replace(s, regex(numbers[i]), to_string(i));
    }
    answer = stoi(s);
    return answer;
}

4. 스탠다드 클래스

  • 코딩 테스트 준비
  • 평가 문제 풀이

5. TA 클래스

  • 색공간
  • 텍스처 활용 기초
  • 머티리얼 에디터 주요 설정
  • 파라미터 활용
  • 자주 쓰는 노드

6. 내일 계획 : CH3 강의 학습, 알고리즘 문제 집중 CS50x 2주차 진행, 베이직 실전 클래스 과제 제출

+ Recent posts