BEST
-
C# 1260번 DFS와 BFS
코드 : using System; using System.Collections.Generic; namespace _1 { class Program { static int[] input; static int N; static int M; static int V; static public int[,] map = new int[1001, 1001]; static public bool[] visited = new bool[1001]; static public Queue queue = new Queue(); static public Stack stack = new Stack(); static void Reset() { for (int i = 1; i
-
C# 2178번 미로 탐색
코드 : using System; using System.Collections.Generic; namespace _3 { class Program { static int N,M; //맵 저장 행렬 static int[,] map = new int[101, 101]; //방문 확인 행렬 static bool[,] visited = new bool[101, 101]; //시작점부터의 거리를 저장하는 행렬 static int[,] disMap = new int[101, 101]; static Queue queue = new Queue(); static int[] dx = { -1, 1, 0, 0 }; static int[] dy = { 0, 0, -1, 1 }; static void Reset() //방문배열..
-
닷넷 프레임 워크 구조
[닷넷 프레임워크의 실행 구조] CIL(Common Intermediate Language) : 공통 중간 언어로 속칭 'IL코드'라 한다. C# 기준으로 C# 컴파일러가 만들어내는 중간 언어로 '런타임'이 이해할 수 있는 언어다. 뿐만 아니라 모든 닷넷 호환 언어는 IL코드로 컴파일이 가능하다. 닷넷 호환 언어 : 어떤 언어의 컴파일러든 결과물로 중간 언어로 생성해 낸다면 CLR이 그것을 실행할 수 있다. 닷넷 호환 언어는 코드의 결과물을 공유하기 때문에 상호 호출이 가능하다. C#에서 F#클래스를 상속받는등 CTS(Common Type System) : 공용 타입 시스템으로 닷넷 호환 언어가 지켜야할 타입의 표준 규격을 정의한것이다. 만약에 새로운 언어를 만든다면 CTS 규약을 만족하는 한도 내에서만..
-
메모리 구조, 바이트 정렬
[메모리 구조] 메모리 영역에 관해 공부하기 전에 프로그램이 어떤식으로 실행되는지 과정을 살펴 보자. 위 이미지는 프로그램의 정보를 읽어 메모리에 로드되는 과정을 보여준다. 프로그램이 실행하게 되면 OS는 메모리에 공간을 할당해준다. 할당해주는 메모리 공간은 4가지가 있다. *메모리 구조 코드 영역 텍스트 영역은 코드를 실행하기 위해 저장되어 있는 영역을 말한다. 흔히 코드 영역이라고도 하는데 프로그램을 실행시키기 위해 구성되는 것들이 저장되는 영역이다. 한마디로 명령문들이 저장되는 것인데, 제어문, 함수, 상수들이 이 영역에 저장된다. 데이터 영역 데이터 영역은 우리가 작성한 전역변수, 정적변수 등이 저장되는 공간이다. 이들의 특징을 보면 보통 메인함수 전에 선언되어 프로그램이 끝날 때까지 메모리에 남..
-
[C#] 백준 2292번 벌집
정답 코드 : using System; using System.Collections.Generic; namespace _2 { class Program { static void Main(string[] args) { int input = Convert.ToInt32(Console.ReadLine()); int n = 1; int k = n - 1; int output = 1; while (input > output) { output += 6 * (n-1); n++; } if (input == 1) Console.WriteLine(n); else Console.WriteLine(n-1); } } } 이 문제에는 규칙이 있다 바로 값들의 공차가 일정한 계차수열인 것이다. 따라서 계차수열을 구해주는 코드를 추..
NEWS
-
[C#] Find() vs FirstOrDefault()
C#에서 Find와 FirstOrDefault 메서드는 컬렉션에서 특정 조건을 만족하는 요소를 검색하는 데 사용됩니다. 그러나 이 두 메서드는 서로 다른 성능 특성을 가지고 있으며 사용 시 고려해야 할 사항이 있습니다. List.Find 메서드: List 클래스에서 사용할 수 있으며, 리스트에서 첫 번째로 조건을 만족하는 요소를 검색합니다. 선형 검색을 수행하며, 리스트의 처음부터 끝까지 요소를 하나씩 확인합니다. 성능은 리스트의 크기에 비례하므로 대규모 리스트에서는 성능 저하가 있을 수 있습니다. Enumerable.FirstOrDefault 메서드: IEnumerable 인터페이스를 구현하는 모든 컬렉션에서 사용할 수 있습니다. 조건을 만족하는 첫 번째 요소를 검색하며, 내부적으로 반복자를 사용하여 ..
2023.09.05 19:03 -
.Any()
IEnumerable를 구현하는 일반적인 컬렉션: 대부분의 컬렉션, 예를 들어 리스트(List), 배열(T[]) 등은 IEnumerable를 구현합니다. 이러한 컬렉션에서 Any 메서드는 컬렉션의 각 요소를 순차적으로 확인하면서 조건을 만족하는 요소를 찾으면 검색을 중지하고 true를 반환합니다. 이 경우, 선형 검색이 수행됩니다. ICollection를 구현하는 컬렉션: 일부 컬렉션, 예를 들어 HashSet, Dictionary 등은 ICollection를 구현하며, 이 인터페이스는 Count 속성을 가지고 있습니다. 이러한 컬렉션에서 Any 메서드는 컬렉션의 Count 속성을 확인하여 요소의 존재 여부를 결정합니다. 따라서 실제로 모든 요소를 순차적으로 확인하지 않고도 빠르게 true 또는 fals..
2023.09.05 19:01 -
[Unity] Unity의 enabled, isActiveAndEnabled 및 activeInHierarchy의 차이점
https://stackoverflow.com/questions/40708014/difference-between-enabled-isactiveandenabled-and-activeinhierarchy-in-unity
2023.05.11 15:01 -
[Unity] 현재 실행중인 애니메이터의 길이를 구하는 방법 GetCurrentAnimatorStateInfo
현재 실행 중인 애니메이터의 길이를 얻으려면 Animator 컴포넌트의 GetCurrentAnimatorStateInfo 메서드를 사용하여 현재 상태 정보를 가져와야 합니다. 이 메서드는 현재 애니메이터 상태에 대한 정보를 반환합니다. 다음은 C# 코드의 예입니다. Animator animator = GetComponent(); AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); float length = stateInfo.length; 이 코드에서 animator 변수는 현재 게임 오브젝트에서 Animator 컴포넌트를 가져오기 위해 사용되고, GetCurrentAnimatorStateInfo 메서드는 현재 애니메이터 상태에 대..
2023.02.22 14:53