목록순서 (3)
Prosto
유니티에서 스크립트를 작성하고, 컴포넌트로 등록하여 사용할 때,가장 기본이 되는 자동으로 일정 시점에서 호출되는 함수들이 있죠. Awake(), Start(), Update(), FixedUpdate(), OnEnable(), OnDisable() 등이 있습니다. 일단 간단하게 살펴보자면, Awake() 해당 스크립트가 등록된 오브젝트(&스크립트)가 최초로 활성화될 때 불리는 함수입니다. (한번만 호출됨) Start() Awake()와 마찬가지로 최초로 활성화될 때 한번만 불리는 함수입니다. (Awake보다는 늦게 호출됨) Update() 활성화 상태일 때 한 프레임에 한번씩 호출되는 함수입니다. (게임 프레임 1초에 60프레임이 나온다면 1초에 60번, 80fps라면 80번 호출) FixedUpdate..
'빠르게 정렬하는 방법으로 가장 많이 사용되는 퀵정렬' 퀵 정렬은 빠른 정렬이나 퀵 소트(Quick Sort)라고도 부릅니다. 퀵 정렬(Qucik Sort)는 데이터를 정렬하는 방법 중 하나입니다. 데이터를 분할(Divide)하고 분할된 부분 별로 이동하는 정복(Conquer) 과정을 반복하여 거쳐 정렬하는 방법입니다. (지금까지의 정렬들과 달리 조금은 복잡합니다만 보고, 직접 해보며 이해할 수 있을 겁니다.) 성능을 Big O로 표기한다면 average, best = O(n log n)이고, worst = O(n^2)입니다. 일반적으로는 O(n log n)의 성능을 내주지만, 피봇(중심점이) 항상 최솟값이나 최댓값으로 잡힌다면 최악의 성능인 O(n^2)이 나옵니다. 참고로 지금까지 했던 (선택, 삽입,..
'맞는 위치에 삽입시켜가며 정렬하는 삽입정렬' 삽입정렬은 Insertion Sort라고도 부르며 데이터 정렬 방법 중 하나입니다. 키(key) 값을 가지고 정렬시키는 삽입 정렬은 두 번째 자료부터 시작하여 그 앞의 자료들과 비교하여 알맞은 위치로 삽입하는 형태의 정렬입니다. (배열로 보는 경우 삽입이라면 뒤의 자료들은 한 칸씩 밀리는 형태가 되겠죠?) (아래 데이터 이동 그림을 보시면 이해하시기 더 좋을 것이라 생각됩니다.) 여러 회전을 반복하여 정렬하는 방법입니다. 첫 번째 회전에서는 두 번째 자료를 키 값으로 가지고 앞의 자료들을 하나씩 비교합니다. 두 번째 자료의 앞 자료는 첫 번째 자료 하나밖에 없으니 하나만 확인하면 됩니다. 첫 번째 자료가 키 값보다 크다면 두 번째 자료를 첫 번째 자료로 바꿔..