분류 전체보기

[자료구조]#1_연결 리스트(Linked List) 선형 자료 구조 중 "연결 리스트"에 대해 알아보겠습니다. Overview 연결 리스트? 삽입, 제거 알고리즘 탐색 알고리즘 연결 리스트 1. 개념 연결 리스트는 노드 기반의 선형 자료구조로, 각 노드는 데이터 필드와 다음 노드를 가리키는 포인터로 구성되어 있습니다. 각 항목/노드의 논리적 저장 순서는 물리 저장 순서와 일치하지 않습니다. 2. 특징 각 항목은 "데이터 필드" + "포인터"를 갖는 노드 형식으로, 다음 노드를 가리키는 "포인터"를 갖습니다. 접근 방법은 첫 노드부터 포인터를 타고 순차적으로 접근하며, O(n)의 수행 속도를 가집니다. 삽입, 삭제 방법은 "포인터" 연결을 끊고, 연결하는 방식으로 매우 간단합니다. 크기는 고정되어 있지 않..
[Unreal_C++_DarkSoul]#8_문제 해결, Send Damage 방식 수정 Weapon 클래스가 Power Component를 통해 피격 대상에게 데미지 전달하는 방식을 수정합니다. 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview 문제점 고찰 및 해결책 제시 결과 코드 문제점 1. Sword.cpp void ASword::OnCapsuleBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { CheckNull(O..
[Unreal_C++_DarkSoul]#7_Magic Projectile Player의 "Wizard" 공격 모드에서 활용하는 마법 발사체 개발 내용입니다. 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview 문제점 문제 해결 문제 해결 후 결과 코드 문제점 1. AMagic::SpawnMagicBall() void AMagic::SpawnMagicBall(const FName& InSocketName) { // Transform AActor* OwnerActor = GetOwner(); CheckNull(OwnerActor); APlayerCharacter* Player = Cast(OwnerActor); CheckNull(Player); FVector SpawnLocation = Pl..
[BOJ알고리즘, C++]#1676_팩토리얼의 0의 개수, 소인수분해 BOJ 알고리즘 문제 풀이, 1676_팩토리얼의 0의 개수 소인수분해의 성질을 이용해 N! 의 뒷자리 0의 개수를 구합니다. 문제 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9..
[확률과 통계]#2 조합, nCr 확률과 통계 과목의 "순열과 조합"에 대해 공부합니다. Overview 조합과 순열의 차이점 조합의 성질 같은 것이 있는 순열 vs 조합 중복 조합 조합과 순열의 차이점 1. 조합? Details 확률에서 조합이란, '서로 다른 n개 중에서 순서에 상관없이 r개를 선택하는 것'입니다. 여기서 우리가 주목할 점은 "순서"입니다. 반장, 부반장, 그리고 주번 자리에 각각 영수, 철수, 그리고 민수를 앉히는 경우의 수는 3!입니다. 여기서 조건을 바꿔보죠. 반 대표 3명을 세 사람 중에서 뽑는 경우의 수는? 1입니다. 왜 다를까요? "순서"가 결과에 영향을 미치는가? 바로 이 점에서 "순열"과 "조합"의 차이점을 찾을 수 있죠. 순열 : 서로 다른 n개 중 r개를 뽑아서 주어..
[확률과 통계]#1 순열과 조합 확률과 통계 과목의 "순열과 조합"에 대해 공부합니다. Overview 순열과 조합의 의미 팩토리얼 원순열 중복 순열 같은 것이 있는 순열 순열과 조합 1. 순열? Details 서로 다른 N개의 항목들 중에서 R개를 선택해 일렬로 나열한 것. nPr(Permutation)로 표현합니다. 조합(nCr)과 순열의 차이점은 "선택"만 할 것인가? 아니라면, "선택 후 나열"까지 고려할 것인가?입니다. 2. 성질 Details 순열의 몇 가지 특징들을 살펴보겠습니다. 먼저, nPr에서 "r" 값이 0일 때, nPr은 무조건 1이 됩니다. 당연하죠? 더불어, n 개 중 n개 모두 뽑을 경우 nPn은 간단히 "n!"인 것을 알 수 있습니다! 예제 문제) 숫자 카드 1, 2, 3, ..
[Unreal_C++_DarkSoul]#6_Targeting 기능 Player 근방의 적들을 인지하고, 선택된 적 객체를 Focusing 하는 기능을 구현합니다. 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview 먼저, Player 근방의 적 객체들을 인식합니다. 인식된 적 객체들 중 가장 근거리에 위치한 적 객체를 타게팅합니다. 타게팅 상태에서 "휠"을 올려 현재 타깃이 된 적 객체를 기준으로 시계 방향으로 타게팅 객체를 변경합니다. 더불어, "휠"을 내리면 반 시계 방향으로 타게팅 객체를 변경할 수 있습니다. * Blueprint로 개발한 과정과 세부 내용들은 같습니다. 아래 링크들을 참조하세요 [Unreal_블루프린트]#27_Targeting [Unreal_블루프린트]#27_Tar..
[Unreal_C++_DarkSoul]#5_Target Point, Enemy Spawn 위치 Unreal 포트폴리오 개발 중 "Target Point"를 활용한 Enemy Spawn 위치 지정 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview Enemy 객체를 Level에 배치하기 위해선, 우리는 Editor에서 각 객체의 블루프린트를 찾아가야 합니다. 위 같은 수고로움을 덜기 위해서, Enemy Spawner를 구현합니다. 먼저, 특정 EEnemyType(여러 종류의 적들을 구분하는 열거형)을 데이터 멤버로 갖는 타깃 포인트 클래스를 선언합니다. 게임 모드 클래스는 Level에 배치된 타겟 포인트 객체를 읽고, 지정한 EEnemyType을 스폰합니다. 코드 1. TP_EnemySpa..
[BOJ 알고리즘, C++] #11051_이항 계수 2, 파스칼의 삼각형 BOJ 알고리즘 문제 풀이, 11051_이항 계수 2 이항 정리와 동적 계획법을 통해 이항 계수를 구합니다. 문제 풀이 이항 정리 : N! / K!(N - K)! 첫 번째 조건, C(N - 1, K - 1) = C(N - 1, K) 두 번째 조건, N = 0 일 때, C(N, K) = 0입니다. 세 번째 조건, K = 0 일 때, C(N, K) = 1입니다. DP [ N ] [ K ], 이차원 배열을 통해 동적 계획법을 활용하면 문제를 푸는 것은 그다지 어렵지 않습니다. 코드 /* 문제: C(N,K) % 10007 결과 출력 설명: 1. N! / K!(N-K)! 2. 파스칼의 삼각형 or 파스칼 공식 이용 3. C(N-1, K-1)..
[BOJ 알고리즘, C++] #1764_듣보잡, Set BOJ 알고리즘 문제 풀이, 1764_듣보잡, Set 문제 Set 컨테이너를 활용해 두 집합의 중복 원소를 선별합니다. 문제 풀이 이 문제도 역시 Set 컨테이너를 활용하면 간단하게 풀 수 있는 문제입니다. 먼저, 입력으로 받은 문자열이 이전에도 입력으로 들어왔는지, 즉 중복된 문자열이 들어왔는지 체크하기 위해 Set 컨테이너에 선제적으로 문자열들을 삽입합니다. 중복되는 문자열일 경우 별도의 Vector 컨테이너를 생성해 항목들을 삽입합니다. "사전순으로 나열하라" 조건을 충족하기 위해 Vector 컨테이너의 정렬을 수행하고 답을 출력합니다! 코드 #include #include #include #include #include using namesp..
Hardii2
'분류 전체보기' 카테고리의 글 목록 (31 Page)