전체 글 159

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 3기 21일차

트리와 그래프트리Tree계층적 구조를 표현하는 '비선형' 자료구조노드들과, 노드들을 연결하는 간선들로 구성하나의 루트 노드, 각 노드는 0개 이상의 자식 노드를 가질 수 있음, 사이클 존재 X종류일반 트리(General Tree) : 노드가 임의의 수의 자식을 가질 수 있는 트리이진 트리(Binary Tree) : 각 노드가 최대 2개의 자식을 가질 수 있는 트리완전 이진 트리(Complete Binary Tree) : 마지막 레벨을 제외한 모든 레벨이 완전히 채워진 이진 트리포화 이진 트리(Perfect Binary Tree) : 왼쪽 자식은 부모보다 작고, 오른쪽 자식은 부모보다 큰 값을 갖는 이진 트리AVL 트리 : 자동으로 균형을 맞춰주는 이진 탐색 트리의 일종, 왼쪽과 오른쪽 서브트리의 높이 차..

TIL 2024.12.10

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 3기 21일차

오늘은 코테 풀어보면서 모르는 함수라던지, 헷갈리는 기능들에 대해 알아보고, 컴퓨터적 사고를 해봐야지ㅣ..  람다 식람다 식"이름 없는 함수", 쉽게 말해 한 줄짜리 함수, 즉 한 번 쓰고 말 함수를 간단하게 표현한 것간결하고 가독성이 높은 코드 작성메모리 사용의 효율성(parameters) => expressionparameters : 함수에 들어오는 값(인자)들을 적음=>               : 람다 연산자, "이 값을 받아서 이렇게 계산한다expression  : 수행할 작업이나 반환할 값 예시우리가 지금까지 배운 내용으로 a,b를 인자로 받고, a + b로 작동하는 함수를 작성int Add( int a, int b){ return a+b;} 만일 이를 람다식으로 표현한다면(a,b) => ..

TIL 2024.12.10

[멋쟁이사자처럼 부트캠프 TIL회고] Untiy 게임개발 3기 20일차

대락 10%정도 한 시점.. 더 많은 양을 공부할 필요를 느낀다.  저번 시간에 우선순위 Queue를 만들어봤는데 이는 자료구조 Tree에서 나온 것이다. (완전이진트리구조)Tree는 다음 주에 배울 내용이지만 간단하게나마 알아보자.   자료구조TreeTree계층적 구조를 표현하기 위한 비선형(non-liner) 자료구조노드와, 노드 사이의 연결을 나타내는 간선(Edge)로 구성루트(Root) 노드에서 시작하여 하위 노드로 뻗어 나감, 계층 관계의 효율적 표현종류이진 트리 : 각 노드가 최대 두 개의 자식(완전 이진 트리, 포화 이진 트리)이진 탐색 트리 : 왼쪽 자식이 부모보다 작고, 오른쪽 자식은 부모보다 큼균형 트리 : 트리의 높이를 최소화하여 효율성 유지 (AVL, Red-Black 트리)Heap..

TIL 2024.12.09

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 3기 19일차

목표 : 배우던 중, 헷갈리거나 모르는 개념 복습, 프로그래머스 코테 최대한 많이 풀어보기. 자료구조와 알고리즘자료구조(Data Sturcture)데이터를 효율적으로 저장하고 관리하기 위한 '방법이나 구조'List, Array, Stack, Queue, Tree, Graph 등이 있음프로그램의 성능과 메모리 사용 효율을 개선하는데 중요한 역할알고리즘(Algorithm)문제를 해결하거나 특정 작업을 수행하기 위한 절차나 규칙의 집합효율성과 정확성이 중요정렬, 탐색, 최적화유니티 c#에서 자주 쓰이는 자료구조와 알고리즘  자료구조리스트(List) : 다수의 동적 오브젝트들을 동적으로 저장하고 관리하는데 이용 ( 인벤토리, 적 스폰 목록 등)딕셔너리(Dictionary) : 키-값 쌍을 이용해 빠른 검색이 필..

TIL 2024.12.07

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임 개발 3기 18일차

Queue개념선입선출(First In First Out, FIFO) 개념을 따르는 자료구조자주쓰는 연산Enqueue : 큐의 뒤쪽 (rear) 에 새로운 요소를 추가함Dequeue : 큐의 앞쪽 (front)에서 요소를 제거하고 반환함Peek/Front : 큐의 앞/뒤의 요소를 조회함(제거 X)IsEmpty : 큐가 비어있는지 확인Size : 큐에 있는 요소의 개수를 반 참고 : https://learn.microsoft.com/ko-kr/dotnet/api/system.collections.generic.queue-1?view=net-8.0 클래스 (System.Collections.Generic)" data-og-description="개체의 첫 번째 아웃 컬렉션을 나타냅니다." data-og-hos..

TIL 2024.12.06

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임 개발 3기 17일차

Linq개념  LINQ(Language Integrated Query)쿼리를 갖고 데이터를 가공하는 방식ㄷ검색 기능이라고 생각하면 됨데이터 소스에 대한 통일된 쿼리 구문컬렉션, 배열, XML등 다양한 데이터 소스 지원강력한 필터링,정렬,그룹화 기능코드의 가독성과 유지보수성 향상람다를 같이쓰는 경우가 많기 때문에 람다를 알아둘 것 ! (주말공부)예제LINQ가 없는 경우와 있는 경우를 둘 다 보면서 편리성을 알아보자. 우리는 몬스터 객체를 여러개 만들고, 이름과 체력을 할당할 것이다. 이름 "A", 체력은 30 이상인 객체들을 오름차순으로 정렬하고 싶다면 지금까지 배운 코드로는 다음과 같다.using System.Collections;using System.Collections.Generic;using Un..

TIL 2024.12.05

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 16일차

Stack기본 개념Stack LIFO(Last IN First Out) 형식의 자료 구조뒤로가기, 트레이서 점멸 등의 예시를 들 수 있음Stack의 구현 public class StackNode{ public T data; public StackNode prev; //오늘은 생성자를 사용하지 않는 방식, 이렇게도 짜고 //저렇게도 짜고 그런다를 표현하려고}public class StackCustom where T: new(){ public StackNode top; public void Push(T data) { var stackNode = new StackNode(); stackNode.data = data; st..

TIL 2024.12.05

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 3기 15일차

링크드 리스트Linked list기본 개념  Linked List데이터들을 순차적으로 연결한 '자료구조'각 노드(node)는 데이터와 다음 노드를 가리키는 포인터로 구성메모리 상에서 연속적이지 않은 위치에 저장 가능Node : 데이터 저장의 기본 단위Data  : 실제 저장되는 정보Next  : 다른 노드를 가르키는 포인터(참조)Null   : 리스트의 끝 리스트의 종류단일 연결 리스트 (Singly Linked List)이중 연결 리스트 (Doubly Linked List)원형 연결 리스트 (Circular Linked List)장점 동적 크기 : 배열과 달리 필요에 따라 크기 조절 가능삽입/삭제의 효율성 : 포인터 변경만 하면 됨, O(1)의 시간 복잡도메모리 효율 : 필요한 만큼만 메모리 사용데이터..

TIL 2024.12.03

[멋쟁이사자처럼 부트캠프 TIL 회고] Unity 게임개발 3기 14일차

자료구조 컴퓨터 과학에서 데이터를 효율적으로 저장, 관리, 접근하기 위한 방법을 연구하는 분야.정의 : 데이터 요소들을 체계적으로 구조화하는 방식목적 : 데이터의 효율적인 저장,검색/ 메모리 사용 최적화/ 알고리즘 성능 향상주요 자료구조 : 배열,스택,큐,트리,그래프,해시 테이블중요성: 효율적인 프로그램 설계 기초, 알고리즘 구현 핵심 요소, 대규모 데이터 처리 자료형 데이터의 최소 표현 단위 : bit8bit = 1byte같은 정수형이라도, bit의 사용에 따라 표현 범위가 달라진다.U가 붙은 자료형(unsigned)는 음수를 표현하지 못함. Int32 intValue = 0; // -21~21억까지 표현 가능UInt32 uintValue = 0; // 0~42억까지 표현 가능Int64 long..

TIL 2024.12.02

[멋쟁이사자처럼 부트캠프 TIL회고] Unity 게임개발 3기 13일차

어제( 11월 30일)은 러닝 비버라는 스마일게이트에서 주최하는 인디 게임 축제에 갔다와서 푹 쉬었다. 정말 즐겁고, 새로운 경험이 되는 시간이었고 시간이 난다면 이에 대해서는 따로 쓸 예정이다. https://burningbeaver.com/main Burning Beaver인디게임&컬처 페스티벌burningbeaver.com 배열기본 배열 변수 하나마다 공간을 하나씩 할당하는 것은 효율적이지 않은 일이다. 그래서 배열을 사용한다. 배열은 기본적으로 [] 로 만든다 예시를 들어보자면int[] a = new int[5];a라는 이름의 5개의 방을 가진 배열을 만든 것이다. 그리고 이 각각의 방에는 아직 아무것도 들어가 있지 않은 상태인 Null 상태라고 볼 수 있다. 각각의 공간에 값을 넣어 주기 위해서..

TIL 2024.12.02