본캠프 첫날
ot진행
언리얼 기초 FPS게임 개발 실시간 강의 진행 하였습니다
블루프린트에 대해 다시한번 공부하고 FAB을 활용한 레벨 다운후
맵 생성 SkeletalMesh매쉬를 이용한 총과 총을잡는 팔 배치 까지 하였습니다
마지막으로 변수 생성후 강의 종료
그리고 개인 강의 시청하였습니다.
-강의 내용
알고리즘의 효율성
효율 측정법
알고리즘의 성능을 측정하는 방법은 절대시간을 측정하는 방법과 연산 횟수를 측정하는 방법 2가지가 있습니다.
이 2가지에 대해 자세히 알아보고, 코딩 테스트에 적합한 전략을 알아봤습니다.
절대 시간 측정하기
-입력값이 들어온 시점부터, 최종 반환을 하는 시점까지 경과시간을 측정합니다.
-측정 방법은 간단하지만 동일한 코드를 실행하더라도 PC성능에 따라 수행 시간이 달라질 수 있습니다.
-알고리즘 자체의 효율을 평가하려는 목적에 맞지 않으므로 성능을 확인하는 데 한게가 있습니다.
연산 횟수 측정하기
-코드의 시작부터 종료까지 연산이 몇 번 수행되었는지를 셉니다.
-코드 자체의 연산 횟수를 측정하므로 코드가 동일하다면 연산 횟수도 항상 일정합니다.
-코딩테스트 시험에서 성능을 측정할 때 연산 횟수를 기준으로 삼습니다.
연산
-반복문의 수행 횟수
-비교/대입/산술연산자 사용 횟수
1.반복문
-1부터 N까지 합 구하기(단일 반복문)
-2차원 행렬의 덧셉(중첩 반복문)
1부터 N까지의 합을 구할 때는 총 N개의 숫자를 더해야 하므로 반복문이 N번 수행됩니다
또한 행렬의 덧셈의 경우 N * M크기의 행렬에서 덧셈을 수행하려면 모든 원소를 더해야 하므로 반복문이 N * M 번 수행될 것입니다.
2.비교/대입 사칙연산 수행
-값의 비교/대입
-컨테이너(배열 벡터)의 비교 / 대입
데이터 크기가 큰 경우 단순 비교도 충분히 고려할 만한 중요한 연산이 됩니다.
예를 들어, 크기가 1000만 개인 배열을 비교하거나 각 원소들 끼리 합을 구하려면 연산을 1000만번 수행해야 합니다.
==>제대로 성능 측정하기
알고리즘의 성능을 평가할 때 연산 횟수를 사용한다는걸 알았습니다.
측정법
점근적 표기법의 개념: 연산 횟수의 추이를 기준으로 성능을 표현
연산횟수의 추이를 파악하면 숭분
연산 횟수에 가장 많은 영향을 주는 부분을 기준으로 그 변화 양상을 분석
빅오 표기법:
최악의 경우를 기준으로 점근적 표기법을 활용해서 성능을 표현하는 방법
1.입력값이 적은 경우 성능차이가 크게 드러나지 않기 때문에, 알고리즘 성능은 일반적으로 입력값이 충분히 큰 경우를 기준으로 평가합니다.
2.입력값이 커지면 상대적으로 상수값은 영향력이 적으므로 무시할 수 있습니다.
최소한의 상한
최악의 경우를 기준으로 대략적인 성능을 판단
ex)내 연봉이 4000만원인데 친구가 연봉이 얼마나 되는지 물어봣다.
->5000만원은 못받는데 비슷해
->대기업 ceo보다 못받아
두개의 답변모두 틀린말은 아니지만 두 번째 답변은 사실과 너무 떨어져있어 연봉수준을 짐작하는 데 도움이 되지않음
점근적 상한도 마찬가지로 성능을 평가할 때에는 가능한 실제 연산 횟수와 가까운 "최소한의 상한"을 구하는게 가장 바람직합니다.
'본캠프' 카테고리의 다른 글
| 4/24(코드카타,C++실시간강의,FPS강의) (1) | 2026.04.24 |
|---|---|
| 발표자료 (1) | 2026.04.23 |
| 4/23(코드 카타,FPS실시간강의) (0) | 2026.04.23 |
| 4/22 (코드카타,FPS게임,C++실시간 강의cp4) (0) | 2026.04.22 |
| 4/21 (c++문법,FPS게임 만들기) (0) | 2026.04.21 |