목록전체 글 (157)
Coding Memo
STL에서 반복자를 통해 각 원소(element)에 접근 할 수 있다. 이는 반복문에서 사용하기 편하다. 포인터 타입으로 생각하면 간단하다. STL의 모든 자료 구조는 내부 원소 순회를 위한 반복자를 제공한다. 각 템플릿마다 iterator 타입은 각각 따로 존재한다. vector::iterator vectorIntIt; vector::iterator vectorFloatIt; list::iterator listStringIt; unordered_map::iterator uMapIt; set::iterator longSetIt; 순회 방식에 따라 3가지로 나뉜다. 사용 가능 연산자 순방향 ++로 다음 반복자 이동 *, ++, ==, != 양방향 ++로 다음 반복자 이동 및 --로 이전 반복자 이동 *, ..
보호되어 있는 글입니다.
C#에서 Protobuf를 사용할 때는 간단하게 nuget 패키지에 있는 Google.Protobuf만 설치하면 되지만, C++은 직접 헤더 및 라이브러리들을 추가해주어야 한다. 만약 선택한 protobuf 프로젝트의 cmake 폴더 내에 CMakeLists.txt 파일이 있다면 아래 방법을 이용하는 방법도 있다. (보통 구버전에 해당한다.) https://minttea25.tistory.com/127 Protobuf 프로젝트에 추가하기 (Windows, CMake) C#에서 Protobuf를 사용할 때는 간단하게 nuget 패키지에 있는 Google.Protobuf만 설치하면 되지만, C++은 직접 헤더 및 라이브러리들을 추가해주어야 한다. (C#이 굉장히 편했던 것이었다!!!!!!!!!!!!!!!!!..
C#에서 Protobuf를 사용할 때는 간단하게 nuget 패키지에 있는 Google.Protobuf만 설치하면 되지만, C++은 직접 헤더 및 라이브러리들을 추가해주어야 한다. (C#이 굉장히 편했던 것이었다!!!!!!!!!!!!!!!!!!!) 먼저 짚고 넘어가야 할 것은 프로토버퍼 특정 버전 이후에 릴리즈 된 프로젝트는 단순히 cmake로 솔루션을 생성하고 빌드하려고 하면 에러가 날 것이다. 이 경우 다음글을 참고하자. ( https://minttea25.tistory.com/128 ) (그 이전 버전은 cmake 폴더에 있는 CMakeLists.txt파일을 포함하고 있어서 하는 방법이 다소 간단하다.) (일단 확인해 본 것은 3.19까지는 가능한 것 같다.) 추가적으로 proto파일에 대한 outp..
Visual Studio에서 빌드 전/후로 이벤트 명령줄을 추가해 줄 수 있다. 빌드 전/후에 이벤트를 추가함으로써 프로젝트와 관련된 외부 파일 컨트롤이나 파일 추가 및 삭제, 이동 등의 명령을 빌드시에 한번에 실행 시킬 수 있다. 매번 해야하는 반복되는 작업을 단지 프로젝트 빌드 한번으로 한꺼번에 해줄 수 있다는 것이다. 1. Visual Studio에서 솔루션 탐색기에서 솔루션을 선택하고 우클릭->속성(Properties)를 클릭한다. 2. 좌측 옵션에서 Build Events를 클릭 3. Command Line에서 edit을 선택해 명령줄을 추가 할 수 있다. 여기서 말하는 명령 줄은 흔히 cmd에서 입력하는 명령과 같다고 생각하면 된다. 총 3가지 경우에 대해 추가해 줄 수 있다. 빌드 전 이벤트..
이 글은 `알고리즘 문제해결전략 - 구종만 (인사이트)의 내용을 일부 참고하여 작성하였습니다. 에라토스테네스의 체를 이용한 소수 찾기 기법은 2 부터 시작해 해당 값이 소수이면, 그 값의 배수를 숫자가 있는 풀(pool)에서 지워나가는 방법을 이용해 풀에 소수만 남기는 기법이다. 어떤 소수인 n에 대해서 n * i (i > 0)에 해당하는 값을 걸러내는 체를 이용한다. 위 방법에서 체에 대한 배열의 크기는 확인하려는 값의 최댓값이 될 것이다. 만약 1억까지의 수를 확인하려고 하면 boolean 타입의 배열을 써도 1억 바이트나 사용해야 한다는 것이다. 사실 0과 1만을 표현하는데 있어서 가장 좋은 데이터는 비트이다. 하지만 보통 프로그램 언어에서는 true/false를 표현하는데 사용되는 boolean ..
최대 연속 부분 구간 합 문제로 어떤 하나의 문제를 다양한 방법으로도 풀 수 있는 경우가 있다는 것을 확인하고 시간복잡도가 어떻게 차이가 나는지 확인해보자. 참고: 이 내용은 `프로그래밍 대회에서 배우는 알고리즘 문제해결전략 - 구종만 지음`에서 나온 내용을 일부 가져왔다. 문제 정수로 이루어진 1차원 배열에서 연속된 부분 구간 중 그 합이 최대인 구간의 합을 구하는 문제이다. 예를 들어 다음과 같인 배열이 있을 때, 연속된 부분 구간 중 최대 합은 12 이다. [ -5, 10, -5, 7, 0, -3, 1, -5, -2, 5 ] => [ 10 , -5, 7 ] => 10 + (-5) + 7 = 12 풀이 1 : 모든 길이에 대해 모든 합 계산하기 첫번째 인덱스 부터 시작해서 길이가 1, 2, 3, ....
Addressable Asset을 사용하고 있는 프로젝트를 빌드 시 발생하는 에러 해결방법 스크립트가 정상적으로 컴파일 되는지 확인 (디버그 창에 SBP ErrorError 이후 좀 더 내려보면 어떤 오류가 있는지 추가적으로 나올 때도 있으니 확인하고 그것부터 해결하면 된다.) 에디터에서 실행했을 때는 잘 실행 되었는데 빌드 시 오류? => 스크립트 내에 프로그램 실행 시에 사용하지 않는 namespace나 참조 등이 있는지 확인 => 예를 들어 UnityEditor.Editor 등의 네임스페이스는 말그대로 에디터에서만 사용가능하고 빌드 시에는 참조할 수 없는 네임스페이스다. 만약 Editor 등의 클래스를 사용하였다면, 사용한 코드에 대해서 조건부 컴파일을 지정해주어야 한다. #if UNITY_EDIT..