백준 10813번 (공 바꾸기, C++) [BAEKJOON]

공 바꾸기 https://www.acmicpc.net/problem/10813 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 90321 56671 50445 63.108% 문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 […]

백준 10813번 (공 바꾸기, C++) [BAEKJOON] 더 읽기"

Unity Serialization (직렬화)

🔥 Serialization (직렬화) 개요 Serialization이란 객체 데이터를 바이트 스트림으로 변환하여 저장하거나 전송할 수 있도록 하는 과정 주 목적은 필요할 때 다시 개체로 만들 수 있도록 개체의 상태를 저장하는 것 반대로 Deserialization은 저장된 바이트 데이터를 다시 객체로 변환하는 과정입니다. 🔥 JSON, XML, YAML 일반적으로 많이 사용하는 데이터 직렬화 포맷들 1️⃣ JSON (JavaScript Object Notation) ✔️ 특징

Unity Serialization (직렬화) 더 읽기"

ECS의 World와 SubScene의 관계

⭐ 개념 정리 ✅ World ECS에서 World는 Entity와 System 등을 관리하는 Container 역할 World는 특정 씬(Scene)에 종속되지 않고, 모든 ECS 데이터를 포함하여 관리한다. World가 관리하는 핵심 구성 요소 4가지 ✅ SubScene SubScene은 씬(Scene) 내부에서 특정 ECS 데이터(Entity)를 포함하는 컨테이너 역할을 한다. SubScene이 로드되면, 그 안의 GameObject들이 자동으로 Entity로 변환(Entity Conversion)되어 World에 등록 ➡️ SubScene의 로드

ECS의 World와 SubScene의 관계 더 읽기"

C#의 CancellationToken, CancellationTokenSource

🔥 CancellationToken, CancellationTokenSource ✅ 개념 정리 CancellationToken과 CancellationTokenSource는 C#에서 비동기 작업(Task)이나 스레드를 안전하게 취소할 수 있도록 제공되는 기능합니다. 이를 활용하면 비동기 작업을 중단하거나, 긴 루프를 중지할 수 있도록 관리할 수 있습니다. 🔹 CancellationTokenSource 🔹 CancellationToken ✅ 기본적인 사용법 🔹 CancellationToken 사용 예제 🔍 설명 ✅ 알아두면 유용한 기능 🔹 ThrowIfCancellationRequested() 이전의 예제에서는 IsCancellationRequested로 확인 후

C#의 CancellationToken, CancellationTokenSource 더 읽기"

백준 9935번 (문자열 폭발, C++) [BAEKJOON]

문자열 폭발 https://www.acmicpc.net/problem/9935 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 (추가 시간 없음) 128 MB 97727 27262 19242 27.023% 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 상근이는 모든 폭발이 끝난 후에 어떤 문자열이 남는지

백준 9935번 (문자열 폭발, C++) [BAEKJOON] 더 읽기"

백준 11444번 (피보나치 수 6, C++) [BAEKJOON]

피보나치 수 6 https://www.acmicpc.net/problem/11444 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 27890 12508 10367 47.603% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

백준 11444번 (피보나치 수 6, C++) [BAEKJOON] 더 읽기"

ECS – EntityQuery 정리

EntityQuery 정리 ECS(Entity Component System)에서 특정 조건을 만족하는 Entity들을 효율적으로 검색하는 도구 Entity가 가진 컴포넌트 조합을 기준으로 검색하며, 이를 통해 메모리 캐시 효율을 극대화 1. EntityQuery의 기본 개념 – 특정 컴포넌트를 가진 Entity 찾기 2. EntityQuery의 주요 조건 조건 설명 WithAll<T>() 해당 컴포넌트를 모두 가진 Entity만 검색 WithAny<T>() 지정한 컴포넌트 중 하나라도 가진 Entity 검색

ECS – EntityQuery 정리 더 읽기"

ECS – MouseHoverAuthoring

1. MouseHover (IComponentData) 2. MouseHoverBaker (Baker) 3. MouseHoverSystem (SystemBase) 1) InitializationSystemGroup 초기화 단계에서 실행됨 2) WorldRaycastJob (IJob) 마우스 위치에서 Raycast를 실행하는 IJob 3) OnUpdate() 1> CollisionWorld 가져오기 2> 마우스 위치에서 레이(Ray) 생성 3> RaycastInput 설정 RaycastInput은 Unity Physics에서 사용되는 구조체로, 물리 엔진이 사용할 레이캐스트 정보를 포함 4> MouseHover 컴포넌트 가져오기 5> 레이캐스트 실행 NativeReference<RaycastHit>을 사용하여

ECS – MouseHoverAuthoring 더 읽기"

ECS – BufferTypeHandle

ECS – BufferTypeHandle ECS에서 DynamicBuffer<T>를 처리하려면 BufferTypeHandle<T>를 사용해야 한다. 즉, “IComponentData가 아닌 버퍼 데이터를 읽고/쓰는 Handle“ 1. BufferTypeHandle<T>란? 2. 사용 예제 1) OnCreate()에서 초기화 2) OnUpdate()에서 매 프레임 업데이트 3. BufferTypeHandle 상세 사용법 1) 기본 사용법 (IJobChunk에서 사용) 2) OnUpdate()에서 ScheduleParallel 실행 3) IJobParallelFor에서 BufferTypeHandle를 사용할 때 일반적으로 IJobParallelFor에서는 직접 사용할 수 없고, AsNativeArray() 를

ECS – BufferTypeHandle 더 읽기"

ECS – System concepts

ECS – System concepts https://docs.unity3d.com/Packages/com.unity.entities@1.3/manual/concepts-systems.html System concepts System의 역할 System의 유형 시스템 유형 설명 SystemBase C# 클래스 기반, 관리형 시스템 (GC 영향 있음) ISystem 구조체 기반, 비관리형 시스템 (성능 최적화) EntityCommandBufferSystem Entity 생성/삭제 등의 구조적 변경을 최적화하는 시스템 ComponentSystemGroup 여러 시스템을 그룹화하여 실행 순서 제어 System 실행 순서 (System Groups) 시스템 그룹 설명 InitializationSystemGroup 초기화

ECS – System concepts 더 읽기"

위로 스크롤