본문 바로가기

연구소👨‍💻27

[C++] RTTI 한 개의 개념을 이해하기 위해선 절대적인 정의가 중요한게 아니라 상대적인 관계 속 위치가 중요하다.RTTI의 정의아예 RTTI에 대해서 아예 몰랐을 때 이렇게 정의해봤다RTTI는 실행시간에 일어나는 타입 결정자다. G쌤은 이 말에 대해서 틀렸다고 한다RTTI(Run-Time Type Information)는 "타입 결정자"라고 부르기보다는 "타입 식별자"나 "타입 정보 제공자"에 더 가깝습니다. "타입 결정자"라는 표현은 변수나 객체의 타입을 선언하거나 초기화할 때 사용되는 개념과 혼동될 수 있습니다. 예를 들어, 프로그램 코드에서 변수를 선언할 때 사용하는 타입(int, float 등)은 그 변수의 타입을 "결정"합니다.반면, RTTI는 프로그램이 실행 중일 때 객체의 타입 정보를 조회하거나, 객체 간.. 2024. 4. 26.
[Leetcode 85번 문제] Maximal Rectangle 문제 요약0과 1로 이루어진 2차원 매트릭스가 주어진다. 이 안에서 직사각형의 성질을 만족하는 가장 큰 넓이를 구하여라입력2차원 배열이 주어지고, 행과 열의 최대 크기는 200씩이 문제를 푸는 정공법은 스택이라고 할 수 있을 것 같다. 그런데 난 이 문제를 처음 봤을때 때 DP를 떠올렸다. 정확히 왜 그랬냐 하면DP문제는 겹치는 부분이 존재한다. 피보나치 수열 같이 a(n) = a(n - 1) + a(n - 2) 가 대표적 이 문제에서도 역시 그런 겹치는게 보였기 때문이다.동적프로그래밍은 굉장히 많은경우에 문제의 답이 되는 경우가 많다. 많은 경우에 백트래킹보다 빠르고 경우의 수를 탐색할때 최적일 때가 많아서 그렇다.하지만 그만큼 DP도 한가지 방법만 있는게 아니라 여러가지 접근이 가능하기에 어떻게.. 2024. 4. 19.
백준 9527번 1의 개수 세기 문제풀이 입력 두 자연수 A, B (1 ≤ 10^16) 입력범위가 굉장히 넓다. 전체적인 범위에서 어떤 수를 이진수로 바꾸고 그 차이에 대해서 바깥의 1을 컨테이너라고 지정하고 그게 그 모든 경우의수가 쉽게말해서 16부터 31 사이의 수라면 바깥 1은 15번 등장하고 나머지는 모든 경우의 수의 절반 말그대로 888 등장할것임 출력 어떤 두 수 사이의 수들에 대해서 1이 등장하는 횟수를 출력해라. 과정 입력값이 10 ^ 16까지기 때문에 모든 수를 늘려가면서 세는것은 엄두도 못 낼 일 다만 직관적으로 이해하기 쉬운건 1이 등장하는데 패턴이 있을 것이라는 점이다. 예를들어 0000(2)부터 1111(2)까지 1이 등장하는 횟수는 당연히 32회다.중복 순열의 총 경우의수에 각각의 자리수가 등장할 확률은 1/2를 곱하면.. 2024. 3. 22.