본문 바로가기
반응형

전체 글500

C# 문법 - 값 타입(Value type)과 참조 타입(Reference type) 값 타입(Value type) 스택에 저장된다. 그러므로 힙에 객체로 할당되지 않아서 GC가 관리 하지 않고 포인터로 가리켜지도 않는다. 선언되는 즉시 메모리에 할당 따라서 생성과 동시에 값을 할당할 수도 있다. int a = 10; c#에서 값타입에는 int, 부동 소수점, double와 같은 원시 타입과 구조체 참조 타입(Reference type) 값을 별도의 메모리 공간(heap)에 저장하고 메모리의 주소를 변수명과 함께 stack에 저장한다. 참조 타입은 새로운 값을 할당하기 위해서는 new를 통해 선언을 해주어야한다. 참조 타입에는 객체, 배열, 문자열,클래스 등이 있다. 코드 예시 예를 들어서 우리집 클래스가 있다고 해보자 class myHome { void room() { } } 만약 객체.. 2024. 3. 29.
알고리즘 - 그리디(Greedy) 알고리즘 그리디 알고리즘 미래를 고려히지 않고 오직 현재 시점에 가장 좋은 선택 ex) 백준 - 동전0(11047) 핵심은 최소 동전 수이다. N개의 동전 중 금액이 제일 큰 것부터 가능한 많이 사용하고 그 다음 큰 동전 사용하기를 반복하면 된다. 그러므로 가장 큰 금액부터 최대한 많이 소진하고 뒤에있는 동전은 신경쓰지 않는다. 특징 미래를 신경쓰지 않고 현실에만 충실한 게 최적의 해가 될 수 있을까? 항상 보장하지 못한다. 그러므로 근사 알고리즘이라고 한다. 01 탐욕스런 선택 조건(Greedy Choice Property) 현재의 선택이 미래의 선택에 영향을 주지 않는다. 예를 들어 서울-대전-부산에 가는 방법 02 최적 부분 구조 조건(Optimal Substructure) 부분의 최적 해가 모이면 전체의 .. 2024. 3. 26.
백준 C# - 2108 +) 풀이 01 산술평균 소수점 이하 첫째 자리에서 반올림한 값을 출력한다. Math.Round를 사용했다. (int)Math.Round(sum / n) 02 중앙값 문제에서 N이 홀수인 조건이 있다. 홀수가 아니였으면 푸는게 복잡했을텐데 홀수이므로 입력받은 값들을 정렬시키고 중간위치에 있는애를 출력하면 된다. (int)list[n/2] 03 최빈값 제일 구하기 복잡했던 최빈값 먼저 생각했던 방법은 Dictionary를 사용해서 입력받은 m이 있는 경우 해당 Value값을 증가시키고 없는 경우 Key가 m, Value가 1인 값을 추가한다. for(int i = 0; i x.Value).ThenBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); 여러 개 있을 때에는 최.. 2024. 3. 24.
Unity - Assets\TextMesh Pro\Examples & Extras\Scripts\VertexZoom.cs(153,44): error CS0029: Cannot implicitly convert type 'UnityEngine.Vector4[]' to 'UnityEngine.Vector2[]' 오류 해결 방법 만들었던 포토폴리오를 리팩토링 하기 위해서 버젼이 높아진 유니티에서 열어봤더니 제목과 같은 에러가 떴었다. Assets\TextMesh Pro\Examples & Extras\Scripts\VertexZoom.cs(153,44): error CS0029: Cannot implicitly convert type 'UnityEngine.Vector4[]' to 'UnityEngine.Vector2[]' 이는 패키지가 업데이트 됨에 따라 SRP(Scriptable Render Pipeline)와의 호환성 이슈로 생긴 것 이다. SRP는 Unity에서 그래픽 렌더링 파이프라인을 완전히 제어하고 사용자 지정할 수 있게 해주는 시스템이다. 그러므로 변경 사항이 있었을 때 일반적으로는 기존의 프로젝트에 영향을 줄 수.. 2024. 3. 21.
Unity - 스트립트간 데이터 업데이트 문제(bool 값 업데이트가 적용이 안돼요) 문제 상황 퀘스트 체크하는 부분에서 문제가 생겼다. QuestManager 스크립트의 bool isComplete, isQuesting를 통해 퀘스트가 진행중인지 완료중인지 체크를 하였다. 그리고 퀘스트가 완료된 경우 npc의 Dialogue가 퀘스트 완료버젼을 출력하지 못하고 있었다. 간단히 말하자면 bool iscomplete와 bool ismoving의 변수내용이 업데이트 내용이 momDialogue에 반영이 안되는 문제이다. 해결 방법 QuestManager스크립트와 Dialogue스크립트가 같은 오브젝트 위치에 있어서 생긴 문제였다! 같은 게임 오브젝트에 스크립트를 연결하는 것은 일반적으로 각 스크립트가 독립적으로 실행될 수 없을 때나 상호작용할 필요가 없을 때에 적합한 방법이다. 그러므로 우리.. 2024. 3. 20.
GitHub - The file will have its original line endings in your working directory GitHub에서 add를 하던 중 아래와 같이 경고 메시지가 떴다. 경고의 원인은 다른 운영체제(OS)의 줄바꿈 문자열이 서로 다르기 때문이다. 예를 들어 Windows에서는 줄 바꿈을 나타내는 기본 문자열이 CRLF(Carriage-Return+LineFeed)를 사용한다. LF(Line-Feed) 줄바꿈 문자로 텍스트 파일에서 한 줄의 끝을 나타낸다. 만약 이 문자를 만나면 커서가 다음 줄로 이동하여 텍스트를 쓰게 된다. CR(Carriage Return) 텍스트 파일에서 줄의 시작 위치로 커서를 이동시킨다. CRLF(Carriage-Return+LineFeed) 커서가 다음 줄로 이동하면서 동시에 줄의 시작 위치로 이동하여 새로운 줄에 텍스트를 쓰게 된다. 해결 방법 core.autocrlf 설정을.. 2024. 3. 18.
반응형