TIL day 37

2025. 2. 11. 13:04·TIL

1. 코딩테스트


"코딩테스트 합격자 되기" 라는 책을 하루에 한 단원씩 보면서 문제를 풀 예정입니다.

오늘은 "배열" 단원을 공부했습니다.

 

푼 문제 1) level1 - 두 개 뽑아서 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/68644

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

  • 기억할 만한 것 : 벡터에서 중복 제거하기!
    • unique 함수와 erase함수를 사용하여, 중복을 제거할 수 있습니다. (set으로도 구현 가능)
    • unique를 사용할 때 주의점은 vector가 정렬된 상태여야 동작한다는 것입니다.
vetor<int> vec;

vec.erase(unique(vec.begin(), vec.end()), vec.end());

 

푼 문제 2) level1 - 실패율

https://school.programmers.co.kr/learn/courses/30/lessons/42889

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

  • 기억할 만한 것 (주의할 것) : 0으로 나눠지는 것을 항상 조심하자
    • 처음에 풀고 제출하였을 때 통과하지 못한 이유가, 아래 코드에서 TotalUsers가 0이 된 경우를 생각해주지 않아서 였습니다.
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;

bool cmp(pair<float, int>&a, pair<float, int>&b)
{
    if(a.first == b.first)
        return a.second < b.second;
    return a.first > b.first;
}
vector<int> solution(int N, vector<int> stages) 
{
    vector<int> answer;    
    int totalUsers = stages.size();    
    unordered_map<int,int> board;
    vector<pair<float, int>> vec;    
    
    sort(stages.begin(), stages.end()); //1 2 2 2 3 3 4 6
    for(int i = 0; i < stages.size(); ++i)
    {
        board[stages[i]]++;
    }
    
    for(int i = 1; i <= N; ++i)
    {                
    	//0으로 나눠지는 것 체크
        if(totalUsers <= 0)
            vec.push_back({0.f, i});    
        else
        {
            float probability = (float)board[i] / totalUsers;
            totalUsers -= board[i];
            vec.push_back({probability, i});            
        }
        
    }
    
    sort(vec.begin(), vec.end() ,cmp);
    for(const auto& v : vec)
        answer.push_back(v.second);

    return answer;
}

 

 

2. 언리얼


과제 진행중에 접한 여러가지 이슈들을 정리해 보았습니다.

  • 마우스를 통한 캐릭터의 시점 이동 관련 이슈

https://gbleem.tistory.com/74

 

UE5 Issues : Look Action (bUsePawnControlRotation)

1. bUsePawnControlRotation캐릭터를 구현하고, 마우스 회전에 대한 로직을 작성했지만 캐릭터가 회전하지 않는 경우 해당 변수를 놓쳤을 가능성이 높다. (Pitch 회전이 안되는 경우)bUsePawnControlRotation 언

gbleem.tistory.com

  • static mesh의 collision을 좀 더 정밀하게 만들고 싶을때 수정 방법

https://gbleem.tistory.com/75

 

UE5 Issues : Complex Collision

언리얼 Static Mesh에는 단순 콜리전과 복합 콜리전이 존재한다.단순 콜리전의 모습복합 콜리전의 모습 우리가 게임을 만들 때 단순 콜리젼을 대부분 사용하지만, 정확도가 너무 떨어져 더 정확한

gbleem.tistory.com

 

'TIL' 카테고리의 다른 글

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

    • 홈
    • 카테고리
  • 링크

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

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바