반응형 전체 글538 백준 C# - 1935 +) 풀이 풀이후위 표기법으로 계산하는 문제이다.제시받은 문자열안의 문자들을 순서대로 확인하여 연산자인지 피연산자인지 확인한다. 만약 피연산자인 경우 stack에 push하고 연산자인 경우 두번의 Pop을 통해 연산을 수행하도록한다.예제 문제 풀이5ABC*+DE/-12345과정그림과 같이 흐름만 알게된다면 쉽게 풀 수 있다.코드using System;using System.Collections.Generic;namespace baek2{ class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); string line = Console.Read.. 2025. 7. 1. Unity - Unity에서 도형을 그려보자(패턴 기반이동, 스킬범위 시각화 ) 도형이 왜 필요할까?게임플레이 측면시각적 피드백: 플레이어가 게임 상황을 직관적으로 파악할 수 있다.스킬 범위 표시: 공격/힐링 범위를 명확하게 보여줄 수 있다.이동 경로 가이드: 적이나 NPC의 움직임 경로를 도형 기반으로 계획해 시나리오에 맞는 움직임 구현할 수 있다.디버깅 도구: 공격 판정, 경로 오류 등을 빠르게 눈으로 확인하고 수정 가능하다.개발 효율성재사용 가능한 컴포넌트: 한 번 만들면 여러 곳에서 재활용 가능하다.디자인 유연성: 수치 조정만으로 다양한 패턴 생성할 수 있다.성능 최적화: 필요할 때만 그리기로 리소스 절약할 수 있다.구현 방법01 Gizmos 방식용도: 에디터에서만 보이는 디버깅/개발용장점: 성능 부담 없음, 게임 빌드에 영향 없음단점: 런타임에서 플레이어에게 보이지 않음02.. 2025. 6. 30. 백준 C# - 1107 +) 풀이 먼저 시간 복잡도를 살펴보자시간 제한: 2초일반적으로 1초에 약 1억 번 연산이 가능하다고 본다.이 문제에서 탐색할 채널 범위는 0 ~ 1000000 (약 100만 개) 그러므로 각 채널에 대해 최대 6자리의 숫자를 확인하는 작업이 필요하다. 따라서 전체적인 경우의 수는 100만 × 6 = 600만이므로 충분히 통과 가능하다.→ 완전탐색(Brute Force)으로 접근해도 문제 없음! 왜 1000000까지 탐색할까?단순히 N = 500000이라면 500000까지 탐색하면 되는거 아니야?→ 그렇지 않다!만약 고장난 버튼 때문에 500000부터 999999까지 전부 누를 수 없다면 입력 가능한 수는 훨씬 멀리 떨어진 곳일 수 있다. 숫자 버튼만으로 누를 수 있는 가장 큰 채널은 999999 → 6자리이다. .. 2025. 6. 11. Unity - 커스텀 에디터(Custom Editor) +) 전처리기(Preprocessor) 커스텀 에디터(Custom Editor) Unity는 게임 개발뿐 아니라 에디터 자체도 커스터마이징할 수 있는 기능을 제공한다. Inspector 창의 UI를 바꾸거나 새로운 창을 만들어서 툴처럼 쓸 수 있다.이 기능은 대부분 Editor 폴더 안에 스크립트를 넣고 사용한다. 핵심 클래스들 Editor: 기존 컴포넌트의 Inspector 커스터마이징 EditorWindow: 독립적인 에디터 창 생성 GUI/GUILayout: 즉시 모드 GUI 시스템 (레거시) EditorGUI/EditorGUILayout: 에디터 전용 GUI 컨트롤 에디터 편집을 위해 작성한 스크립트들을 저장하는 Editor 폴더가 존재한다. Editor 폴더란? Unity에서 Editor 전용 API를 사용할 수 있도록 만든 .. 2025. 6. 11. Unity - Unity에서 수학 개념을 이해해보자 2편 - 행렬,동차 좌표계,TRS, 아크 탄젠트 행렬이란?수학적으로 2차원 배열이며 Unity에서는 오브젝트의 위치, 이동, 회전, 크기 변환을 계산할 때 이 행렬을 사용한다.2×2 행렬 예시[ a b ][ c d ]4×4 행렬 예시[ m00 m01 m02 m03 ][ m10 m11 m12 m13 ][ m20 m21 m22 m23 ][ m30 m31 m32 m33 ]1. 행렬의 차원과 용도01 2×2 행렬2D 공간에서의 회전과 크기1) 회전 - Transform.rotation2D에서는 Z축 회전만 적용된다. 내부적으로 2×2 회전 행렬처럼 동작한다.2D 회전 행렬 (각도 θ만큼 회전)[ cos(θ) -sin(θ) ][ sin(θ) cos(θ) ]// 회전 예시 (2D)transform.rotation = Quaterni.. 2025. 6. 9. Unity - 캐싱(Caching) +) FSM 패턴,GetComponent ,Distance 캐싱(Caching)이란? 자주 사용하는 데이터나 연산 결과를 한 번만 계산하고 저장해두었다가 다음에 또 필요할 때 다시 계산하지 않고 빠르게 꺼내 쓰는 기법이다. 간단한 비유캐싱 안하는 경우 : 매번 요리할 때마다 레시피책을 찾아서 펼쳐보기캐싱 하는 경우 : 자주 만드는 요리 레시피를 냉장고에 붙여두고 바로 보기 왜 필요할까? Unity는 매 프레임(초당 60~144번 이상) 빠르게 많은 계산을 해야 하는 실시간 게임 엔진이다. 아래와 같은 예시의 작업들을 매번 수행하면 성능 병목이 발생할 수 있다.1) GetComponent()로 컴포넌트 찾기 모든 컴포넌트를 순회하며 검색void Update(){ GetComponent().Play("Run");}2) Vector3.Distance()로 매 .. 2025. 6. 4. 이전 1 2 3 4 ··· 90 다음 반응형