1. Day41
- 알고리즘 코드카타
- C++과 Unreal Engine으로 3D 게임 개발
- 베이직 실전 클래스
2. CH3 - C++과 Unreal Engine으로 3D 게임 개발(Day41)
- Chapter 3 C++과 Unreal Engine으로 3D 게임 개발(2-4)
- State Machine 설계를 통한 캐릭터 동작 애니메이션 적용
3. 알고리즘 코드카타
- 시저 암호(초기 코드)
- 소문자일경우와 대문자일경우를 나눠서 z와 Z를 넘기면 26을 빼주는 방식
#include <string>
#include <vector>
using namespace std;
string solution(string s, int n) {
for (int i = 0; i < s.size(); i++)
{
if (s[i] >= 'a' && s[i] <= 'z')
{
if (s[i] + n > 'z')
{
s[i] = s[i] + n - 26;
}
else
{
s[i] += n;
}
}
else if (s[i] >= 'A' && s[i] <= 'Z')
{
if (s[i] + n > 'Z')
{
s[i] = s[i] + n - 26;
}
else
{
s[i] += n;
}
}
}
return s;
}
- 시저 암호(개선 코드)
- range - based for 문을 이용해 인덱싱없이 처리
- 소문자일 경우와 대문자일 경우를 나눠서
- a - ‘a’ → 0 ~ 25 인덱스로 변환 (대문자도 마찬가지)
-
- % 26 → 범위 초과 시 wrap
-
#include <string>
#include <vector>
using namespace std;
string solution(string s, int n) {
for (auto& a : s)
{
if (a >= 'a' && a <= 'z')
{
a = (a - 'a' + n) % 26 + 'a';
}
else if (a >= 'A' && a <= 'Z')
{
a = (a - 'A' + n) % 26 + 'A';
}
}
return s;
}
4. 베이직 실전 클래스
5. 내일 계획 : CH3 강의 학습, 알고리즘 문제 집중 CS50x 2주차 진행, 베이직 실전 클래스 과제 진행