기초 4

[Effective C#] C# 가비지 컬렉터(Garbage Collector) 기초 / finalizer 이해하기

가비지 컬렉터(Garbage Collector, GC) 자동 메모리 관리자, 애플리케이션의 메모리 할당 및 해제를 관리한다. 즉 개발자는 메모리 관리를 위한 코드를 작성할 필요가 없다. 메모리 누수, 댕글링 포인터(dangling pointer), 초기화 되지 않은 포인터 등의 기타 메모리 관련 문제를 개발자가 직접 다루지 않게 된다. * dangling pointer : 유효한 곳을 가르키고 있지 않는 포인터 -관리되지 않는 리소스(Unmanaged Resource, 비관리 리소스)의 경우엔 개발자가 직접 관리해야 하며, 이벤트 핸들러, 델리게이트 등도 잘못 사용하면 이를 참조하고 있는 객체가 불필요하게 메모리에 남게 되므로 사용에 유의해야 한다. ->그럼에도 Garbage Collector가 메모리를..

개발/C# 2020.12.28

[DP] 스티커 문제 풀이

백준 9465번 스티커 문제 풀이 : https://www.acmicpc.net/problem/9465 문제요약 : - 2xn개의 스티커를 갖고있다. 각 스티커는 점수가 있다.- 스티커를 떼면 그 스티커와 변을 공유하는 스티커는 찢어져 사용할 수 없다(점수x)- 뗄 수 있는 스티커 점수의 최댓값을 구하시오. 우선 이런 유형의 문제는 완전탐색을 하여 구현을 해봅니다.. 그다음 DP를 적용.. 1. 완전탐색을 할 경우를 생각해봅니다. "-->" 오른쪽 방향으로 탐색을 했을 때, 스티커를 떼는 방법은 위를 떼는 방법, 그리고 아래를 떼는 방법 두가지가 존재합니다. 우선 공유하는 변의 스티커가 뜯어지는 경우를 무시하고 전체 경우를 구한다면, 아래와 같이 구현할 수 있습니다. 12345678int solve(in..

개발/Algorithm 2017.01.21

Dynamic Programming

Dynamic Programming(DP) , 동적 계획법 - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 -> 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것 -> 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게 해결 * 동적계획법은 계산 횟수를 줄일 수 있다. 특히 하위 문제의 수가 기하급수적으로 증가할 때 유용 위키 (https://ko.wikipedia.org/wiki/%EB%8F%99%EC%A0%81_%EA%B3%84%ED%9A%8D%EB%B2%95) *피보나치 수로 DP 기초 다지기 F(0) = 0 F(1) = 1 F(N) = F(N-1)+F(N-2) (N>=2) 0 ..

개발/Algorithm 2016.07.02

MFC 기초

MFC란?Microsoft Foundation Class의 약자로 윈도우 운영체제 환경에서 GUI 프로그램을 쉽고 빠르게 개발하기 위한 클래스 라이브러리입니다. 기본적으로 C++언어의 기본 문법을 알고 있어야 한다! MFC 내부구조 이해를 위한 예제File->New->Project, 'Win32프로젝트' 선택 '빈 프로젝트' 체크 후 마침'소스 파일' 마우스 우클릭->추가->새항목 'C++파일(.cpp)'선택 적당한 이름 입력 후 추가다음의 코드를 입력한다.//////////////////////////////////////////////////////// #include class CHelloApp : public CWinApp { public: virtual BOOL InitInstance(); };..

반응형