반응형 분류 전체보기552 백준 C# - 1475 +) 풀이((Banker's Rounding) 규칙) 로직을 생각해보면 그렇게 어려운 문제는 아니다. 배열을 이용해서 각각의 숫자들을 증가시키면 되는 문제인데 소수점에 관련해서 한 번 생각을 해봐야한다.처음 적었던 코드using System;using System.Text;class Program{ static void Main(string[] args) { string s = Console.ReadLine(); double[] num = new double[10]; foreach (var c in s) { num[c - '0']++; } num[6] = (num[6] + num[9])/ 2; num[9] = 0; Console.. 2025. 9. 1. Unity - 성능 최적화 체크리스트 – 프레임 분산 먼저 내용에 앞서 Unity의 프레임 처리 구조를 이해해보자 Unity에서 한 프레임마다 흐름[한 프레임 처리 흐름]→ Input 처리→ Physics 처리→ Update() 및 코루틴 실행→ Instantiate, Destroy 등 호출→ 렌더링 준비→ 렌더링 완료이 모든 작업이 메인 스레드에서 순차적으로 실행되기 때문에 한 프레임에서 너무 많은 일이 일어나면 프레임 타임이 길어지고 렉(스파이크)이 발생한다.예를 들어 프레임 타임이 10ms를 넘어가면 100FPS 이하로 떨어지게 된다. 그렇게 되면 게임은 눈에 띄게 끊기게 되면서 유저 경험이 나빠지게 된다.프레임당 시간 기준표목표 FPS1프레임 최대 허용 시간60 FPS16.6ms120 FPS8.3ms30 FPS33.3msyield return nul.. 2025. 8. 25. Unity - 성능 최적화 체크리스트 – GC 할당부터 0-Alloc까지 1. GC.Alloc이 뭔데?GC.Alloc(Profiler의 GC Alloc 컬럼)은 “해당 프레임 동안 관리 힙(Managed Heap)에 새로 올라간 바이트 수”이다.이 값이 계속 생기면 관리 힙에 가비지(쓰레기 객체) 가 쌓이고 어느 순간 Garbage Collector가 돌아서 정지 구간(Stop-the-World) 을 만들게 된다. 그게 우리가 보는 “가끔 멈춘다/퉁퉁 끊긴다”의 한 축이 되어 버린다.키 포인트GC.Alloc 자체가 느린 게 아니라 그 결과로 돌아오는 GC.Collect가 느린 것이다.그래서 steady-state에서 GC.Alloc을 0으로 만들면 “몇 초마다 한 번씩” 오는 컬렉션 스파이크를 크게 줄일 수 있다.2. Unity의 GCUnity의 C#은 관리 힙 위에서 돌아가.. 2025. 8. 22. Unity 사두면 좋은 유료 에셋들(DoTween,Dialogue System for Unity, I2 Localization, Text Animator for Unity, Odin Inspector and Serializer) 1. DoTweenDoTween은 Unity에서 애니메이션을 구현할 때 거의 필수라고 불릴 정도로 널리 쓰이는 강력한 트위닝(tweening) 툴이다. 복잡한 애니메이션을 단 몇 줄의 코드로 간단하게 처리할 수 있어 개발 시간을 획기적으로 줄여주며 성능 최적화도 탁월해서 모바일 게임에서도 부담 없이 사용할 수 있다. 특히 연출 타이밍을 조절할 수 있는 시퀀스 기능은 복잡한 컷씬이나 효과 구현에도 안성맞춤이며 직관적인 문법 덕분에 디자이너와 협업 시에도 유연하게 대응할 수 있다. DOTween Pro | 비주얼 스크립팅 | Unity Asset StoreGet the DOTween Pro package from Demigiant and speed up your game development process.. 2025. 7. 30. Unity - Dialogue System for Unity + I2 Localization 연동 가이드 Dialogue System + I2 Localization 연동 가이드 (Unity)게임에서 대사를 여러 언어로 표시하고 싶을 때, Dialogue System for Unity와 I2 Localization을 연동하면 효율적으로 다국어를 관리할 수 있다. 이 글에서는 DS → I2 → 번역 → 다시 DS로 적용하는 전체 워크플로우를 알려드리겠습니다.1. 패키지 다운로드 및 설치Unity 에셋 스토어에서 다음 패키지들을 설치가 필요하다:1. Dialogue System for Unity Dialogue System for Unity | 행동 AI | Unity Asset StoreGet the Dialogue System for Unity package from Pixel Crushers and spe.. 2025. 7. 23. 백준 C# - 2178 +) 풀이 최단거리 문제는 BFS를 사용하는 것이 좋다.101111101010101011111011먼저 BFS의 최단 경로 과정을 보면 아래와 같이 진행된다. 해당 깊이에 갈 수 있는 주변 칸을 탐색하고 다음 깊이로 넘어가는 것을 확인할 수 있다.BFS가 진행됨에 따라 칸의 값 갱신BFS를 진행하면서 현재 칸을 방문할때 이전의 방문했던 칸에 1을 더한 값을 현재 셀에 저장하여 몇 번째 방문한 것인지 를 저장하면 마지막 칸에 최단 경로가 저장된다. graph[newX, newY] = graph[now.Item1, now.Item2] + 1;BFS 알고리즘 짜기01 큐 초기화 및 시작 지점 추가하기Queue> queue = new Queue>();// 시작 좌표값 queue에 추가queue.Enqueue(new Tup.. 2025. 7. 21. 이전 1 2 3 4 ··· 92 다음 반응형