[BOJ 알고리즘, C++] #11660_구간 합 구하기 5 BOJ 알고리즘 문제 풀이, 11660_구간 합 구하기 5 누적 합 알고리즘을 통해 수열의 구간 합을 구하는 문제 문제 풀이 1. 먼저, 2차원 배열의 누적합을 "열" 순으로 누적 합을 계산하는 것이 아니라, "행" 순으로 계산해야 합니다. 2. 누적 합을 계산하는 방법은 아래와 같이 "[i-1][j] + [i][j-1] - [i-1][j-1]"입니다. prefixSum[i][j] = prefixSum[i-1][j] + prefixSum[i][j-1] - prefixSum[i-1][j-1] "행"을 기준으로 누적 합을 계산하다 보면 "중복"으로 누적된 값이 존재합니다! 위 그림을 살펴보면, prefixSum[4]를 위해 prefixSum[2]와..
[Programmers 알고리즘, C++]#Level 2_오픈 채팅방 Programmers 알고리즘 문제 풀이, Level2_오픈 채팅방 STL 컨테이너와 String 클래스를 활용하여 풀이하는 문제입니다. 문제 풀이 1. [유저 아이디] + [닉네임] 을 묶어서 기억하기 위해 STL 컨테이너 중 "map"을 활용합니다. [Basic C++] #38_map, 연관 컨테이너 [Basic C++] #38_map, 연관 컨테이너 C++ 개발에서 표준 라이브러리(STL)의 "map"에 대해 알아보겠습니다. "전문가를 위한 C"의 16 항목, "컨테이너와 반복자 이해하기"에 해당하는 내용입니다. map, 연관 컨 webddevys.tistory.com 2. 주요 포인트는 닉네임이 변경되는 시점은 두 가지입니다. ..
[Programmers 알고리즘, C++]#Level 2_문자열 압축 Programmers 알고리즘 문제 풀이, Level2_문자열 압축 String 클래스 활용과 규칙을 찾아 풀이하는 문제입니다. 문제 풀이 1. 최대 압축 단위는 전체 길이의 1/2까지 가능합니다! 2. 압축 단위를 증가시키며(1, 2, 3...N/2) 문자열의 압축 가능 여부를 확인합니다. 3. 각 압축 단위마다 최종적으로 압축된 문자열 길이를 기억해서 비교합니다. 4. 이때, 마지막에 남아 있는 가장 작은 문자열 길이를 반환합니다. 코드 #include #include using namespace std; int solution(string s) { int len = s.size(); int answer = len; int n = ..
[Unreal]#7_Spawn Gun Actor in Runtime Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. SpawnActor() 1. Character 클래스 내부에 "Gun" Actor를 멤버로 선언 // character.h 파일 내부 private: // 1. 실제 World에 Render할 Gun 객체는 원본 클래스가 아니라, 파생 클래스들입니다. // eg) Gun Class 의 파생 클래스 : Rifle, Sniper, Launcher...etc UPROPERTY(EditDefaultsOnly) TSubclassOf GunClass; UPROPERTY() AGun* Gu..
[Unreal]#6_Gun Actor Setting Unreal 개발 중 "Gun Actor"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Gun Actor * 상속 구조 1. Capsule Component : Collision 2. Mesh Component : Skeleton Mesh + Animation 3. Mesh Component : Gun Actor 4. Particle System : Particle Effect of Gun 우리가 앞으로 구현할 "Actor", 총은 "Character"의 Mesh Component의 하위 Component가 됩니다. 1. C++ Actor Class 생성 1. 새로운 C++ "A..
[Basic C++] #55-7_템플릿 변수 C++의 템플릿 중 "템플릿 변수"에 대해 알아보겠습니다. "전문가를 위한 C"의 11 항목, "템플릿을 이용한 제네릭 코드 작성"에 해당하는 내용입니다. 템플릿 변수 // 템플릿 변수 선언 template constexpr T pi = T(3.14................); // 정의 방법 int main() { float piToInt = pi; // pi 를 int 타입으로 초기화 double piToDouble = pi; // pi 를 double 타입으로 초기화 }
[Unreal]#5_Character의 이동 속도와 각도 구하기, Animation Blueprint Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Animation Blueprint "Animation Blueprint" 에디터의 "Anim Graph" 내부에 생성한 이동 관련 "Animation Blend Space"는 두 개의 기준 값을 필요로 하죠! X축의 "Angle" 그리고 Y축의 "Speed"! 실제 게임 플레이 과정에서 Character의 이동과 함께 실시간으로 바뀌는 "Angle" 값 그리고 "Speed" 값을 "Animation Blueprint"로 가져와서 활용하는 방법..
[Unreal]#4_Animation Blueprint, Gameplay와 Animation 연결하기 Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Animation Blueprint의 Owner Pawn 1. Animation Blueprint와 Character Blueprint 연결 1. Animation을 적용할 Character의 Blueprint 선택 2. "Animation" 항목에서 "Animation Mode"를 "Use Animation Blueprint" 선택 3. "Anim Class"를 우리가 미리 생성해둔 "Animation Bluerpint"를 선택합니다. Ani..
[Unreal]#3_Character Animation, Animation Blend Space Unreal 개발 중 "Animation"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. Skeleton Skeleton = Animation + Meshes "Skeleton" 은 "Mesh"와 여러 가지 "Animation"으로 이루어져 있습니다 이때, "Mesh"는 "Skeleton"을 이루는 요소들이며, "Animation"은 해당 "Mesh"들로 구현하는 모션들입니다. 1. Mesh 설정 1. Component 목록 중 "Mesh Component" 선택 2. 오른쪽 Details 목록 중 "Mesh" 항목에서 "Skeletal..
[Unreal]#2_Camera Setting, 3인칭 카메라 세팅 Unreal 개발 중 "Camera Setting"에 대해 알아보겠습니다. "Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다. 3인칭 카메라 세팅 Player Controller가 소유할 Pawn의 3인칭 카메라 세팅에 대해 알아보겠습니다. 이번 항목에선 C++ 코드 작성이 아니라 "Character"의 Blueprint를 통해 카메라 세팅을 해보겠습니다. 1. SpringArm Component + Camera Component 추가 1. Capsule Component를 상속하는 "SpringArm Component" 추가 2. SpringArm Component를 상속하는 "Camera ..