2025/01/02 2

내일배움캠프 77일차 TIL 최종 프로젝트 - Quickselect (Partitioning Algorithm)

20250102 / Unity_6차  17주차 목요일  n명의 NPC 중 특정 위치에서 가장 가까운 k명을 뽑기 위해 알고리즘을 찾던 중Quickselect라는 것을 알게 되었다. Quickselect의 작동 원리피벗(Pivot) 선택:리스트에서 임의의 값을 피벗으로 선택합니다.파티셔닝(Partitioning):피벗보다 작은 값은 왼쪽으로, 피벗보다 큰 값은 오른쪽으로 이동합니다.QuickSort와 동일한 방식으로 동작합니다.필요한 부분만 탐색:피벗의 위치를 기준으로, 필요한 부분(상위 N개 또는 k번째 요소가 포함된 부분)만 재귀적으로 탐색합니다.예를 들어, 피벗이 상위 N개의 범위에 속하면, 더 이상의 재귀 호출 없이 종료합니다.결과 반환:특정 k번째 요소 또는 상위 N개 요소를 반환합니다.  보통의..

카테고리 없음 2025.01.02

내일배움캠프 76일차 TIL 최종 프로젝트 - 그리드 맵

20241231 / Unity_6차  17주차 화요일  이제와서 알게 된 것이지만, 맵의 구조물을 배치할 때 Kingdom : New Lands는 그리드를 기반으로일정 간격의 셀 내에 배치하는 것 같다. 맵의 생성이나 연속적으로 밝기가 변하는 영역 등을 어떻게 처리하나 고민했는데,그리드 기반으로 셀의 데이터에 포함시키면 된다는 것을 알았다. 그리드 기반의 데이터 구조 설계맵을 2D 또는 3D 그리드로 나누고, 각 셀에 대한 상태 정보를 저장합니다.셀의 속성셀은 아래와 같은 정보를 가질 수 있습니다:위치 정보: 셀의 월드 좌표 또는 그리드 좌표.밝기 상태: 예를 들어, 0~1 사이의 값으로 어두움/밝음을 표현.환경 타입: 숲, 평야, 물 등.업데이트 상태: 나무가 베어졌거나, 플레이어가 지나갔을 때 변화 ..

카테고리 없음 2025.01.02