TIL day 41

2025. 2. 17. 10:41·TIL

1. 코딩테스트


오늘은 "큐" 단원을 공부하였습니다.

  • 관련 내용은 크게 어려운점이 없었습니다.
  • 기억할 만한 코딩테스트 스킬이 있어서 정리해 보았습니다.
    • 예시) 우리가 93, 30, 55이라는 수를 가지고 있고, 각각 한번에 1, 30, 5씩 늘어나는데 100을 넘는 순간을 찾기 위해서 while문을 두개 사용해서 구하는 것보다 나눗셈을 사용하는 것이 더 좋은 방식입니다.
    • 문제에 주어진 상황을 그대로 코드로 구현하는 것도 좋지만, 더 간단한 방법이 있을지 생각해 보는 것도 좋은 방식이라고 생각이 들었습니다.
for (int i = 0; i < progresses.size(); ++i)
{
    while (progresses[i] < 100)
    {
        progresses[i] += speeds[i];
        count[i]++;
    }
}

// better
for(int i = 0; i < progresses.size(); ++i)
{
    count[i] = ceil((100. - progresses[i]) / speeds[i]);
}

 

추가적으로 "해시" 단원에서 문제 하나를 풀었습니다.

  • 프로그래머스 level 1 - 신고 결과 받기
  • 이 문제도 크게 어려운 점은 없었습니다.
#include <string>
#include <vector>
#include <unordered_map>
#include <set>
using namespace std;

vector<int> solution(vector<string> id_list, vector<string> report, int k)
{
    vector<int> answer(id_list.size());
    unordered_map<string, set<string>> um;
    unordered_map<string, int> temp;

    for (int i = 0; i < report.size(); ++i)
    {
        size_t pos = report[i].find(' ');
        string temp1 = report[i].substr(0, pos);
        string temp2 = report[i].substr(pos + 1);

        um[temp2].insert(temp1);
    }

    for (auto it = um.begin(); it != um.end(); ++it)
    {
        if (it->second.size() >= k)
        {
            for (auto u : um[it->first])
            {
                temp[u]++;                   
            }
        }
    }
    for (int i = 0; i < id_list.size(); ++i)
    {
        if (temp[id_list[i]])
            answer[i] = temp[id_list[i]];
        else
            answer[i] = 0;
    }


    return answer;
}

 

 

2. 언리얼


오늘은 팀 프로젝트 관련해서 팀원들과 소통을 위주로 진행하였습니다.

또한 초기 세팅을 완료하여, 언리얼 프로젝트를 깃허브에 업로드 또한 진행하였습니다

 

  • 중간에 "체크아웃" 관련 이슈가 있었습니다. 
    • 이 문제는 gitattributes 세팅을 안해주어서 생긴 문제였습니다.
    • 깃 리포지토리를 만들어 준 것을 사용하였는데, 이미 gitignore와 gitattributes가 있어서 의심하지 않고 사용하였지만,
    • 리비전 컨트롤에 연결은 되었는데 체크아웃을 하지 못하는 이슈가 있었습니다.
  • 구글링을 하고 방법을 찾던 도중 https://github.com/ProjectBorealis/UEGitPlugin/discussions/145 이 글을 발견하고, 혹시 gitattributes가 잘못된 것인가 싶어서 수정하였더니 제대로 동작하게 되었습니다.

 

 

3. 알고리즘


지난번에 정리하지 못한 내용에 대해 정리하였습니다.

https://gbleem.tistory.com/77

 

알고리즘 관련 함수

정리 예정1. partial_sum2. uniqueunique 결과값이 필요없는 값들의 시작3. accumulate4. transform

gbleem.tistory.com

또한 과제로 그동안 진행했던 내용에 대해 wrap-up을 해야해서 추가적으로 복습을 진행하고, 필요한 내용들은 추가할 예정입니다.

https://gbleem.tistory.com/87

 

1, 2 주차 알고리즘 정리

1. STL 기본 구조2. map & sethttps://gbleem.tistory.com/63 map & set1. map1-1. map 기본 개념key와 value 쌍으로 이루어져 있으며, key를 통해 value값에 O(1)에 접근할 수 있는 자료구조검색, 삽입, 삭제가 평균적으로

gbleem.tistory.com

 

'TIL' 카테고리의 다른 글

TIL day 43  (0) 2025.02.19
TIL day 42  (0) 2025.02.18
TIL day 40  (0) 2025.02.14
TIL day 39  (0) 2025.02.13
TIL day 38  (3) 2025.02.12
'TIL' 카테고리의 다른 글
  • TIL day 43
  • TIL day 42
  • TIL day 40
  • TIL day 39
gbleem
gbleem
gbleem 님의 블로그 입니다.
  • gbleem
    gbleem 님의 블로그
    gbleem
  • 전체
    오늘
    어제
    • 분류 전체보기 (184)
      • Unreal Engine (73)
      • C++ (19)
      • 알고리즘(코딩테스트) (27)
      • TIL (60)
      • CS (4)
      • 툴 (1)
  • 블로그 메뉴

    • 홈
    • 카테고리
  • 링크

    • 과제용 깃허브
    • 깃허브
    • velog
  • 공지사항

  • 인기 글

  • 태그

    DP
    const
    actor 클래스
    템플릿
    character animation
    BFS
    motion matching
    매크로 지정자
    applydamage
    blend pose
    cin함수
    상속
    gamestate
    addonscreendebugmessage
    map을 vector로 복사
    additive animation
    C++
    Vector
    enhanced input system
    싱글턴
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gbleem
TIL day 41
상단으로

티스토리툴바