1. Day33
- 알고리즘 코드카타
- C++과 Unreal Engine으로 3D 게임 개발 강의 수강(2-1)
2. CH3 - C++과 Unreal Engine으로 3D 게임 개발(Day33)
- C++ 과 Unreal Engine으로 3D 게임 개발 강의 수강(2-1)
- Character 클래스를 활용한 캐릭터 구현
3. 알고리즘 코드카타
- 없는 숫자 더하기, 제일 작은 수 제거하기
- 제일 작은 수 제거하기(초기 코드)
- for 문에서 최소값의 이터레이터값을 받은다음 erase로 제거하고 answer = arr 반환
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
auto minIt = arr.begin();
// for 문을 이터레이터 값으로 진행
for (auto it = arr.begin(); it < arr.end(); ++it)
{
// 배열의 최소값의 이터레이터 갱신
if (*it < *minIt)
{
minIt = it;
}
}
// 최소값 제거
arr.erase(minIt);
// answer 배열에 대입
answer = arr;
if (answer.empty())
{
return vector<int>(1, -1);
}
return answer;
}
- 제일 작은 수 제거하기(개선 코드)
- min_element(v.begin(), v.end()) : 배열의 가장 작은 값을 찾아 이터레이터 반환 → 결과값에서 배열의 시작 주소를 빼야 인덱스
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> arr) {
vector<int> answer;
// arr의 원소가 1개 이하면 빈 배열을 반환
// -1 을 반환
if (arr.size() <= 1)
{
return vector<int>(1, -1);
}
// arr의 배열의 최소값 이터레이터를 찾은다음 제거
arr.erase(min_element(arr.begin(), arr.end()));
answer = arr;
return answer;
}
4. 내일 계획 : CH3 강의 학습, 알고리즘 문제 집중 CS50x 1주차 마무리, 오후 조퇴