목록전체 글 (45)
3냥 집사이면서 게임 개발자입니다.
버블 정렬(Bubble Sort)란 맨 왼쪽 원소부터 바로 이웃한 오른쪽 원소와 비교해가며 큰 수가 오른쪽으로 가도록 교환하는 정렬 방식입니다. 거품 정렬이라고도 하며 두 인접한 원소를 비교하는 것이 핵심입니다. 정렬 프로세스 1. 인접한 두 수의 대소를 비교한다. 2. 내림차순, 오름차순에 따라 두 수의 자리를 바꾼다. 3. 나머지 요소들도 동일한 매커니즘으로 정렬한다. 구현이 쉬워서 자주 사용된다. 하지만 조건이 맞는 상황이 주어질 때 매번 정렬하기 때문에 실행 속도를 느리게 할 수 있다는 단점이 있습니다. 예시 다섯 개의 숫자를 정렬한다고 예시를 들겠습니다. i 가 0 일 때 이중 for문에서 n-1번 비교, i 가 1일 때 이중 for문에서 n-2번 비교, ... i 가 3일 때 이중 for문에서..
선택 정렬(Selection Sort)이란 제자리 정렬 알고리즘 중 하나로 정렬되지 않은 데이터들 중에서 가장 작은 값을 추출해 가장 맨 앞으로 정렬해나가는 알고리즘입니다. 1. 배열 중 최소값을 찾습니다. 2. 최소값을 맨 앞으로 정렬합니다. (Swap) 3. 나머지 값들도 같은 매커니즘으로 정렬합니다. 알고리즘이 단순하고 사용할 수 있는 메모리가 제한적인 경우, 사용에 이점이 있으며, 구현이 간단하지만 비효율적인 알고리즘입니다. 선택 정렬 시간 복잡도 기준값과 비교값들 중 최소값을 찾기 위해 이중 for문이 필요합니다. - 첫 번째 회전 비교 횟수 : 1부터 (n-1) = n-1 - 두 번째 회전 비교 횟수 : 2부터 (n-1) = n-2 ... -> 최소값 찾기 : n-1, n-2, ... 2, 1..
언리얼 환경에서 알아두어야 할 기본 타입과 고려할 점에 대한 정리와 캐릭터 인코딩 시스템에 대한 이해, 언리얼 C++ 이 제공하는 다양한 문자열 처리 방법과 내부 구성의 이해에 대해서 정리하겠습니다. 왜 언리얼은 기본 타입을 따로 지정하는가? - 1970년대에 개발되서 아직도 사용 중인 C++ 언어 - 시대에 따라서 발전한 하드웨어 사양 - 플랫폼 파편화(Platform Fragmentation) - C++ 최신 규약에서 int 는 최소 32비트를 보장하도록 규정되어 있음 - 특정 플랫폼에서는 64bit로 해석될 수 있음 - 따라서 데이터를 저장할 때 int 타입의 크기를 확신할 수 없음 - 게임 제작의 특징 - 데이터 정보가 명확해야 한다. - 단일 컴퓨터에서 최대 퍼포먼스를 뽑아내야 한다. - 네트웍..
코딩 표준이란, 프로그래밍을 작성하는데 지켜야 하는 프로그래밍 이름 규칙, 작성 방법 등을 지정한 가이드라인입니다. - 코딩 스타일, 코딩 컨벤션(Coding Style, Coding Convention) 이라고도 합니다. 좋은 코딩 표준이란? - 절대적으로 좋은 코딩 표준이란 없습니다. - 이전에 내가 사용한 코딩 표준이 항상 옳은 것은 아닙니다. - 중요한 것은 코딩 표준을 정하고 잘 따르는 것입니다. - 이미 프로젝트에 코딩 표준이 있다면 그대로 따라야 합니다. - 프로젝트의 모든 코드는 한 사람이 만든 것처럼 보여져야 합니다. - 좋은 소프트웨어 회사들은 자신만의 코딩 표준이 있습니다. * 언리얼 엔진은 자체적으로 코딩 표준을 정했기 때문에, 기존 C++ 코딩 방법을 버리고 언리얼 엔진 코딩 표준..