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주차 마무리, 오후 조퇴

+ Recent posts