전체 글 49

std::list

std::list singly-linked list는 std::forward_list 참고 이중 연결 리스트(doubly-linked list) 구조로 되어 있다. 양방향으로 데이터를 추가/삭제 할 수 있다. 정방향, 역방향으로 리스트를 이동할 수 있다. size(), push_back(), pop_back() 등 연산은 O(1) 시간복잡도를 가진다. 임의의 원소를 접근시 O(N) 시간복잡도를 가진다. https://en.cppreference.com/w/cpp/container/list list 사용예제 #include #include using namespace std; int main() { std::list list1 = {1, 2, 3, 4, 5}; list1.push_back(6); list1..

std::vector

std::vector 벡터에 새로운 원소를 추가할 경우 동작 push_back, insert 원소를 삽입할때 공간이 남아 있다면 O(1)의 시간이 걸린다. 하지만 공간이 없을 경우 아래의 로직이 수행된다. 2*size 크기의 메모리를 새로 할당 새로 할당한 메모리로 기존 원소를 전부 복사/이동 데이터 포인터를 새로 할당한 메모리 주소로 지정 원소를 추가하고 벡터크기를 1만큼 증가한다. 이 경우 O(n)의 시간복잡도이다. https://en.cppreference.com/w/cpp/container/vector 예제 초기화 방법 // 크기가 0인 벡터 선언 std::vector vec1; // 지정한 초깃값으로 벡터 선언 std::vector vec2 = {1, 2, 3, 4, 5}; // 크기가 10인 ..

std::array

std::array std::array는 고정 크기 배열을 캡슐화하는 컨테이너이다. 원소의 타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿이다. c 스타일 배열처럼 쓸수 있는 []연산자 제공한다. []연산자는 빠른 동작을 위해 전달된 인덱스값이 배열의 크기보다 큰지 작은지 검사를 하지 않는다. at(int index)를 사용할 경우 index 값이 유효하지 않을 경우 std::out_of_range 예외를 발생시킨다. 반복자를 지원한다. 범위기반 (ranged) for문을 사용 할 수 있다. https://en.cppreference.com/w/cpp/container/array 예제 c 스타일 배열 void array1() { int datas[] = {1, 2, 3, 4, 5}; int size..

강환국 systrader79 퀀트 자료

강환국 & systrader79 퀀트 자료 collection vol.2 pdf 파일 받으실 분은 아래 절차를 따르시면 됩니다. 1. https://cafe.naver.com/invest79/12999 에 접속 후, 카페 회원 가입합니다. 2. 위 링크를 본인의 블로그나, 인터넷 카페나 커뮤니티, 단체 카톡방, SNS 등에 공유합니다. (투자와 무관한 곳도 공유 가능합니다) 3. 게시물이 공유된 url 주소를 아래 이벤트 공유 주소 입력란에 입력합니다. (1번 주소가 아닙니다) 4. 이메일 주소와 이벤트 공유 주소를 입력하면 완료됩니다. https://forms.gle/CZaqmStWJFwJDE6m7 강환국 systrader79 퀀트 자료 collection 증정 강환국 & systrader79 퀀트 자..

정보 2021.12.23

[Tip] Unity Chan URP 셰이더 에러 수정

https://unity-chan.com/download/releaseNote.php?id=ssu_urp&lang=en URP 버전의 유니티 짱 프로젝트를 열면 아래의 유니티 버전에 따라 오류가 나오는 것을 확인할 수 있습니다. Shader error in 'Universal Render Pipeline/Toon': 'InitializeStandardLitSurfaceDataUTS': output parameter 'outSurfaceData' not completely initialized at /Users/siyan/Downloads/UnityChanSSU_URP-release-1.0.1/UnityChanSSU_URP/Packages/UnityChanToonShaderVer2_Project-relea..

Unity 2021.10.30

Input System #1

개발 환경 Unity 2020.3.13f Input System 설치하기 가장 먼저 할 일은 프로젝트에 InputSystem을 import 하는 일입니다. Package Manager를 실행합니다. Input System을 찾아 Install을 눌러 설치합니다. Yes 버튼을 눌러 에디터를 재시작합니다. Active Input Handling 이 Input System Package (New) 로 된 것을 확인할 수 있습니다. 해당 옵션으로 Input System을 변경할 수 있습니다. 참고 https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/manual/index.html

Unity 2021.09.30

삽입 정렬 (Insertion Sort)

시간 복잡도는 O(n^2) 이다. 코드 void InsertionSort(int[] array) { int k = 0; int j = 0; for (int i = 1; i 0 && array[j - 1] > k) { array[j] = array[j - 1]; --j; } array[j] = k; } }테스트 코드 int[] array = { 10, 5, 7, 2, 8, 4, 1 }; InsertionSort(array);풀이 i = 1로 for loop가 실행된다. 이때 k = 5, j = 1 이 된다. while 문의 조건식에 따라 j가 0보다 크고, k보다 array[j - 1] 가 클때까지 while..