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주차 진행, 베이직 실전 클래스 과제 제출