본문 바로가기

전체 글

(195)
[ 유니티 ] 자식 오브젝트 삭제하기 foreach(Transform chlid in musicList) { Destroy(chlid.gameObject); }
[c#] 배열을 딕셔너리로 만들고 인덱스에 따라 정렬하여 사용하기 //MusicData 배열을 Resources 폴더로 부터 가져와 datas 배열에 넣어준다 MusicData[] datas = Resources.LoadAll("MusicData"); _musicDataDic.Clear(); //_musicDataDic에 musicTitle을 키로 딕셔너리를 만들어준다 . _musicDataDic = datas.ToDictionary(ele => ele.musicTitle); //내부 요소중 인덱스를 사용하여 정렬한다. foreach (var music in _musicDataDic.OrderBy(ele => ele.Key)) { }
[ 자료구조 ] 해시 테이블 - 01 . 해시와 해시 테이블 [해시에 관하여] [들어가기 전에] 1 . 이진 탐색이 아무리 빠르다 하더라도 인덱스를 이용 , 바로 목표 요소에 접근하는 배열에 비하면 아쉬운 점이 있다 . 만약 , 배열처럼 데이터 값을 이용하여 각 요소가 담길 주소를 계산하고 , 이 주소에 데이터를 담는다면 ? 2.해시는 해시 테이블 , 암호화 , 문자열 검색등 많은 알고리즘에 응용되는 알고리즘이다 . 그렇다면 해시란 ? [해시] Hash (해시)란 무엇일까? 영단어를 보면 , "잘게 자른 고기를 양파,감자와 같은 다른 재료와 함께 튀겨 한 덩어리로 만든 요리"를 뜻한다 . 이와 같이 해시는 데이터를 입력받으면 완전히 다른 모습의 데이터로 바꾸어 놓는 작업이다 . 해시는 다음의 용도로 쓰인다 . 해시 테이블 : 해시 테이블은 데이터의 해시값을 테이블..
[자료구조] 우선순위 큐와 힙 - 03 . 우선순위 큐 구현 [우선순위 큐 구현] [PQ.h] #ifndef PQ_H #define PQ_H #include #include #include typedef int PriorityType; //노드 (우선순위가 추가됨) typedef struct tagPQNode { PriorityType Priority; void* Data; }PQNode; //우선순위 큐 typedef struct tagPriorityQueue { PQNode* Nodes; int Capacity; int UsedSize; }PriorityQueue; //큐의 생성 PriorityQueue* PQ_Create(int Initialize); //큐의 삭제 void PQ_Destroy(PriorityQueue* PQ); //노드의 삽입 void PQ..
[자료구조] 우선순위 큐와 힙 - 02 . 힙 구현 [힙 구현] [Heap.h] #ifndef Heap_H #define Heap_H #include #include #include typedef int ElementType; typedef struct tagHeapNode { ElementType Data; }HeapNode; typedef struct tagHeap { //노드 배열 HeapNode* Nodes; //최대용량 int Capacity; //사용중인 사이즈 int UsedSize; }Heap; //힙의 생성 Heap* Heap_Create(int Initialize); //힙의 삭제 void Heap_Destroy(Heap* heap); //삽입 void Heap_Insert(Heap* heap, ElementType NewData); /..
[자료구조] 우선순위 큐와 힙 - 01 . 우선순위 큐와 힙 [ 들어가기 전에 ] [ 일상에서의 우선순위 큐 ] 일정한 루틴으로 살아가는 사람에게 병원 , 미팅등의 우선순위가 높은 일이 생기면 그것을 먼저 처리한다 . 혹은 , 우체국에서 먼저 들어온 일반우편보다 빠른 등기를 먼저 처리한다 . 위의 경우들은 일이 들어온 순서가 아닌 , 우선순위에 따라 일을 처리한다 . 우선순위큐 역시 마찬가지이다 . [ 우선순위 큐 ] [ 우선순위 큐의 정의 ] 큐 (Queue)는 먼저 들어간 요소가 먼저 나오는 (FIFO)자료구조이다 . 우선순위 큐는 큐와 같이 동작하지만 "우선순위 속성을 가지는 데이터를 다룬다"는 점에서 차이가 있다 . 둘의 차이는 삽입과 제거 연산이 어떻게 동작하느냐에 있다 . 우선순위큐는 새 요소에 우선순위를 부여하여 큐에 삽입하고 가장 높은 우선순위를 갖..
[ 커스텀 에디터 ] 인스펙터 윈도우 [ 인스펙터 커스텀] [ Editor의 참조구조 ] =>에디터 폴더를 만들고 스크립트를 생성한다 . 해당 스크립트는 Editor를 상속받는다 . =>내가 커스텀 하고자 하는 target을 넣어 [CustomEditor(typeof(Cube))] 어트리뷰트를 붙여준다 이제 해당 스크립트는 CudeEditor가 변형을 할 수 있다 . [ OnInspectorGUI ] public override void OnInspectorGUI()를 선언하면 , 기본으로 base.OnInspectorGUI()가 생성된다 . 이는 에디터에서 기본으로 그려주는 요소를 말하며 해당 부분을 주석친다면 인스펙터에는 아무것도 보이지 않는다 . DrawDefaultInspector()를 하여도 같은 역할을 수행한다 (여러개 해도 똑같..
[ 유니티 ] 유니티 2021.3.16f1 설치 오류 [ 문제상황 ] [ 유니티 허브를 통한 설치 실패] 유니티 허브를 통해 해당 버전을 다운받는데 다음과 같이 에디터가 설치가 안되는 문제가 발생하였다 . [ 해결 ] [ 직접 설치 ] 유니티 허브가 아닌 다운로드 아카이브에서 직접 설치하여 문제를 해결하였다 . 다운로드 아카이브 설치 후 문제가 되었던 창에서 새로고침을 눌러주면 모두 완료 표시가 뜨면서 성공함을 볼 수 있다 . [ 추가 : Visual Studio 설치 ] 설치시 다음 3개의 것들을 설치해주었다